private void AddList(SaveLoader.N2NConfig config) { SolidColorBrush Brush = new SolidColorBrush(); Brush.Color = Color.FromArgb(189, 230, 251, 255); ListViewItem item = new ListViewItem(); WrapPanel wrap = new WrapPanel(); RadioButton check = new RadioButton(); TextBlock text = new TextBlock(); item.Height = 25; item.Name = "UUID" + config.UUID; RegisterName("UUID" + config.UUID, item); wrap.Margin = new Thickness(10, 0, 10, 0); wrap.VerticalAlignment = VerticalAlignment.Center; check.Name = "CHECK" + config.UUID; RegisterName("CHECK" + config.UUID, check); check.Background = Brushes.Transparent; check.GroupName = "Used"; check.Checked += ChangeUsed; check.VerticalAlignment = VerticalAlignment.Center; RadioButtonHelper.SetCheckedBackground(check, Brushes.Transparent); RadioButtonHelper.SetGlyphBrush(check, Brushes.Transparent); RadioButtonHelper.SetCheckedGlyphBrush(check, Brush); text.Text = "| " + config.Name; text.Foreground = Brush; text.VerticalAlignment = VerticalAlignment.Center; //托盘菜单项 MenuItem menu = new MenuItem(); menu.Header = config.Name; menu.Height = 25; menu.MinWidth = 150; menu.Name = "MENU" + config.UUID; RegisterName("MENU" + config.UUID, menu); menu.Click += TaskBarChangeList; if (config.isUsed) { item.IsSelected = true; menu.IsChecked = true; check.IsChecked = true; nowUsed = config; nName.Text = config.Name; nIP.Text = config.iP; nAdd.Text = config.iPAdditional; nSever.Text = config.severIP + ":" + config.severPost; nTeamName.Text = config.teamName; nPassword.Text = config.teamPassword; nowConfigs.Visibility = Visibility.Visible; } wrap.Children.Add(check); wrap.Children.Add(text); item.Content = wrap; ConfigList.Items.Add(item); TaskBarConfigList.Items.Add(menu); }
/// <summary> /// 点击启用单选框触发更改启用的配置 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void ChangeUsed(object sender, RoutedEventArgs e) { RadioButton button = (RadioButton)sender; if (nowUsed != null) { //try { if (isTaskChange) { isTaskChange = false; isListChange = false; return; } button.IsChecked = true; ListViewItem list = (ListViewItem)New.FindName("UUID" + nowUsed.UUID); RadioButton radio = (RadioButton)list.FindName("CHECK" + nowUsed.UUID); radio.IsChecked = false; for (int i = 0; i <= TaskBarConfigList.Items.Count - 1; i++) { MenuItem menuItem = (MenuItem)TaskBarConfigList.Items[i]; if (menuItem.Name == "MENU" + button.Name.Substring(5)) { isListChange = true; menuItem.IsChecked = true; break; } } for (int i = 0; i <= TaskBarConfigList.Items.Count - 1; i++) { MenuItem menuItem = (MenuItem)TaskBarConfigList.Items[i]; if (menuItem.Name == "MENU" + nowUsed.UUID) { isListChange = true; menuItem.IsChecked = false; break; } } } //catch { } } for (int i = 0; i <= configs.Count - 1; i++) { if (configs[i].isUsed == true) { if (configs[i].UUID == button.Name.Substring(5)) { return; } configs[i].isUsed = false; break; } } for (int i = 0; i <= configs.Count - 1; i++) { if (configs[i].UUID == button.Name.Substring(5)) { configs[i].isUsed = true; nName.Text = configs[i].Name; nIP.Text = configs[i].iP; nAdd.Text = configs[i].iPAdditional; nSever.Text = configs[i].severIP + ":" + configs[i].severPost; nTeamName.Text = configs[i].teamName; nPassword.Text = configs[i].teamPassword; nowUsed = configs[i]; break; } } File.Delete("Save\\Config.ssn2n"); for (int i = 0; i <= configs.Count - 1; i++) { SaveLoader.AddSave(configs[i]); } isListChange = false; if (isRun) { SSUserClass.Proc.KillProc(SSUserClass.Proc.GetProc("edge")); isOpen.Text = "正在启动"; ProgressBarHelper.SetAnimateTo(openPer, 50); RunFun(); } }
private void Run_Click(object sender, RoutedEventArgs e) { if (isRun) { SSUserClass.Proc.KillProc(SSUserClass.Proc.GetProc("edge")); } else if (a.IsSelected) { RunFun(); isOpen.Text = "正在启动"; ProgressBarHelper.SetAnimateTo(openPer, 50); } else if (b.IsSelected) { //添加 if (configs[0].iP == "new" && !canAdd) { canAdd = true; panErrorMsg.Visibility = Visibility.Visible; errMode = 0; errorTitle.Text = "提醒"; errorSays.Text = "点击添加将将当前配置显示区的配置添加入列表(本次点击无效)。"; return; } bool noSave = false; SaveLoader.N2NConfig config = new SaveLoader.N2NConfig(); if (!String.IsNullOrWhiteSpace(Name.Text)) { for (int i = 0; i <= configs.Count - 1; i++) { if ((configs[i].Name) == Name.Text) { errMode = 4; panErrorMsg.Visibility = Visibility.Visible; errorTitle.Text = "提醒"; errorSays.Text = "存在同名的配置将覆盖保存。"; return; } } } if (!String.IsNullOrWhiteSpace(IP.Text)) { config.iP = IP.Text; } else { noSave = true; } if (!String.IsNullOrWhiteSpace(IPAdd.Text)) { config.iPAdditional = IPAdd.Text; } config.isDHCP = isDHCP.IsChecked == true ? true : false; if (!String.IsNullOrWhiteSpace(SeverIP.Text)) { config.severIP = SeverIP.Text; } else { noSave = true; } if (!String.IsNullOrWhiteSpace(SeverPost.Text)) { config.severPost = Convert.ToInt32(SeverPost.Text); } else { noSave = true; } if (!String.IsNullOrWhiteSpace(TeamName.Text)) { config.teamName = TeamName.Text; } else { noSave = true; } if (!String.IsNullOrWhiteSpace(Password.Text)) { config.teamPassword = Password.Text; } else { noSave = true; } if (!String.IsNullOrWhiteSpace(Name.Text)) { config.Name = Name.Text; } else { noSave = true; } config.isUsed = false; config.UUID = DateTime.Now.ToString("yyyyMMddhhmmssfff"); if (!noSave) { SaveLoader.AddSave(config); configs.Add(config); AddList(config); } else { panErrorMsg.Visibility = Visibility.Visible; errMode = 0; errorTitle.Text = "提醒"; errorSays.Text = "请将数据填写完整。"; } } }