public ConfigForm(DeviceClass SelectedDevice) { InitializeComponent(); Debug.Assert(SelectedDevice != null, "Invalid SelectedDevice!"); this.CurrentDevice = SelectedDevice; //暂时不支持以下界面; this.tabControl.TabPages.Remove(this.tabPage_PPP); this.tabControl.TabPages.Remove(this.tabPage_PPPoE); }
/// <summary> /// 集中处理操作返回错误码,并生成错误说明信息; /// </summary> /// <param name="eCode">tagErrorCode</param> /// <returns>错误说明信息</returns> public static string HandleDeviceError(DevControl.tagErrorCode eCode, DeviceClass device) { string errorMsg; if (eCode == DevControl.tagErrorCode.DM_ERR_NOAUTH) { LoginForm loginform = new LoginForm(); DialogResult result = loginform.ShowDialog(); if (result == DialogResult.OK) { eCode = device.Login(loginform.UserName, loginform.Password); } } errorMsg = HandleError(eCode); return errorMsg; }
/// <summary> /// 配置选定设备,开启对应配置窗体; /// </summary> private void ConfigSelectedDevice() { if (this.DeviceListView.SelectedIndices.Count > 0 && this.DeviceListView.SelectedIndices[0] != -1) { //通过用户在显示控件中选择的索引值,在查找其所对应的设备对象; DeviceClass currentDevice = DevList[DeviceListView.SelectedIndices[0]]; LoginForm loginform = new LoginForm(); DialogResult result = loginform.ShowDialog(); if (result == DialogResult.OK) { DevControl.tagErrorCode eCode = currentDevice.Login(loginform.UserName, loginform.Password); if (eCode == DevControl.tagErrorCode.DM_ERR_OK) { //记录当前选择设备对象,作为父窗体属性传递至新开启的子配置窗体; this.SelectedDevice = currentDevice; ConfigForm deviceConfigForm = new ConfigForm(this.SelectedDevice); deviceConfigForm.ShowDialog(this); deviceConfigForm.Dispose(); } else { //异常处理; string errMsg = ErrorHandling.HandleError(eCode); System.Windows.Forms.MessageBox.Show(errMsg); } } loginform.Dispose(); } }
/// <summary> /// Device Search的回调函数; /// </summary> private static void searchCB(IntPtr dev, IntPtr data) { uint ipAddr = 0; StringBuilder devname = new StringBuilder(100); StringBuilder macAdd = new StringBuilder(100); //获取搜索到的设备信息; DevControl.tagErrorCode eCode = DevControl.DM_GetDeviceInfo(dev, ref ipAddr, macAdd, devname); if (eCode == DevControl.tagErrorCode.DM_ERR_OK) { //将搜索到的设备加入设备列表; DeviceClass device = new DeviceClass(dev, ipAddr, macAdd.ToString(), devname.ToString()); DevList.Add(device); } else { //异常处理; string errMsg = ErrorHandling.GetErrorMsg(eCode); Log.WriteError(errMsg); } }