2017-09-02 141 views
0

我的小程序有问题。将userdomain复制到剪贴板错误

我创建了一个按钮,当我按下它时,应该将当前的userdomain复制到剪贴板中。

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

但是VS总是给我一个错误,当我调试程序并按下按钮。

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 

预先感谢您

回答

0

我认为,由于某种原因,你的情况这行代码System.Net.NetworkInformation.IPGlobalProperties.GetIPGlobalProperties().DomainName回报null空字符串。根据MSDN Clipboard.SetText如果参数为null或为空则抛出异常。

你试过Environment.UserDomainName

+0

“你有没有试过Environment.UserDomainName?”谢谢你<3 – Madison