copying userdomain into clipboard error

0

i have a problem with my little program.

I created a button that should copy the current userdomain into my clipboard when i press it.

private void button2_Click(object sender, EventArgs e)
    {
      Clipboard.SetText(System.Net.NetworkInformation.IPGlobalProperties.
      GetIPGlobalProperties().DomainName);
    }

But VS always gives me an error when i Debug the program and press the button.

System.ArgumentNullException ist aufgetreten.
HResult=0x80004003
Nachricht = Der Wert darf nicht NULL sein.
Parametername: text
Quelle = System.Windows.Forms
Stapelüberwachung:
at System.Windows.Forms.Clipboard.SetText(String text, TextDataFormat 
format)
at WindowsFormsApp1.Window.button2_Click(Object sender, EventArgs e) in 
C:\Users\user\Documents\Visual Studio 
2017\Projects\WindowsFormsApp1\WindowsFormsApp1\Form1.cs:line 120
at System.Windows.Forms.Control.OnClick(EventArgs e)
at System.Windows.Forms.Button.OnClick(EventArgs e)
at System.Windows.Forms.Button.OnMouseUp(MouseEventArgs mevent)
at System.Windows.Forms.Control.WmMouseUp(Message& m, MouseButtons button, 
Int32 clicks)
at System.Windows.Forms.Control.WndProc(Message& m)
at System.Windows.Forms.ButtonBase.WndProc(Message& m)
at System.Windows.Forms.Button.WndProc(Message& m)
at System.Windows.Forms.NativeWindow.DebuggableCallback(IntPtr hWnd, Int32 
msg, IntPtr wparam, IntPtr lparam)
at System.Windows.Forms.UnsafeNativeMethods.DispatchMessageW(MSG& msg)
at System.Windows.Forms.Application.ComponentManager.#
System.Windows.Forms.UnsafeNat
iveMethods.IMsoComponentManager.FPushMessageLoop(IntPtr dwComponentID, Int32 
reason, Int32 pvLoopData)
at System.Windows.Forms.Application.ThreadContext.RunMessageLoopInner(Int32 
reason, ApplicationContext context)
at System.Windows.Forms.Application.ThreadContext.RunMessageLoop(Int32 
reason, ApplicationContext context)
at WindowsFormsApp1.Program.Main() in C:\Users\user\Documents\Visual 
Studio 2017\Projects\WindowsFormsApp1\WindowsFormsApp1\Program.cs:line 18

Thank you in advance

c#
asked on Stack Overflow Sep 2, 2017 by Madison

1 Answer

0

I think that for some reason this line of code System.Net.NetworkInformation.IPGlobalProperties.GetIPGlobalProperties().DomainName returns null or an empty-string in your case. According to the MSDN Clipboard.SetText throws an exception if the argument null or empty.

Have you tried Environment.UserDomainName?

answered on Stack Overflow Sep 2, 2017 by Michael

User contributions licensed under CC BY-SA 3.0