1 private static string MacIP = "";
2
3 private void btnOK_Click(object sender, EventArgs e)
4 {
5 checklogin = new WMSMobile.checkLogin.WMSManager();
6 checklogininbymac = new WMSMobile.checkLoginByMac.WMSManager();
7
8 if (txtName.Text.Length == 0 || txtpwd.Text.Length == 0)
9 {
10 MessageBox.Show("用户名或者密码不能为空.");
11 }
12
13 else
14 {
15
16 string result = checklogin.CheckLogin(txtName.Text, txtpwd.Text,KEYCODE);
17 if (result == null)
18 {
19 MessageBox.Show("登录失败.");
20 }
21 else
22 {
23 MessageBox.Show(result);
24 }
25 }
26
27 }
28 private void menuItem1_Click(object sender, EventArgs e)
29 {
30 foreach (INetworkInterface currentInterface in NetworkInterface.GetAllNetworkInterfaces())
31 {
32 this.listBox1.Items.Add("Name : " + currentInterface.Name);
33 this.listBox1.Items.Add("IP : " + currentInterface.CurrentIpAddress);
34 this.listBox1.Items.Add("MAC : " + currentInterface.GetPhysicalAddress().ToString());
35
36 this.listBox1.Items.Add(string.Empty);
37
38 }
39
40 }
上边我先定义了一个string型的MacIP想获取foreach里面遍历得到的"MAC"值,然后MacIP作为一个参数添加到web service的登录函数里面,大致上就这么意思了,但是我在用MacIP获取"MAC"的时候,系统提示无法将'int'型转换成'string'型.想问怎么获取到foreach里面这个"MAC"的值,再传给MacIP?
我也不会获取了,各位大侠有会的,告诉下,求笼罩啊.
不太理解你问的意思到底是啥。给了2种不知道 是不是你想要的。
1》
public static string macIp = string.Empty;
private void button1_Click(object sender, EventArgs e)
{
foreach (NetworkInterface currentInterface in NetworkInterface.GetAllNetworkInterfaces())
{
listBox1.Items.Add( currentInterface.GetPhysicalAddress());
}
}
private void listBox1_SelectedIndexChanged(object sender, EventArgs e)
{
macIp = listBox1.SelectedItem.ToString();
}
2》 用属性去解决,如果返回单一,稍微做个小调整即可。
public IList<string> MacIP
{
get
{
IList<string> mac_IpList = new List<string>();
foreach (NetworkInterface currentInterface in NetworkInterface.GetAllNetworkInterfaces())
{
mac_IpList.Add(currentInterface.GetPhysicalAddress().ToString());
}
return mac_IpList;
}
}
如果你的MAC是int类型的,你要把它转换为string类型的,它不会自动转换的。你在循环遍历的时候值接可以把值赋给MacIP,赋值的时候转换