/// <summary> /// 頁籤切換 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void tcSettings_SelectionChanged(object sender, SelectionChangedEventArgs e) { if (IsFirstTime) { return; } if (e.Source != sender || e.OriginalSource != sender) { return; } if (tcSettings.SelectedIndex > 0 && tcSettings.SelectedIndex < 10) { BaseHelper.DynamicPublicMethod((tcSettings.Items[tcSettings.SelectedIndex] as TabItem).Content, "TextBoxEnable", new object[1] { tcSettings.SelectedIndex }); //int i = (tcSettings.SelectedIndex > 1 && tcSettings.SelectedIndex < 10 ? 2 : tcSettings.SelectedIndex + 1); ; //(form[i] as UcFiveStart2).TextBoxEnable(tcSettings.SelectedIndex); } }
/// <summary> /// 按鈕事件 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void btn_Click(object sender, RoutedEventArgs e) { var btn = (sender as Button); if (btn.Name == "btnOptionClear") { /*全清(此頁)*/ BaseHelper.DynamicPublicMethod(form[tcSettings.SelectedIndex + 1], "SetDefaultValue", new object[] { }); } else if (btn.Name == "btnSelectAll") { /*全選(此頁)*/ if (tcSettings.SelectedIndex >= 0 && tcSettings.SelectedIndex <= 6) { BaseHelper.DynamicPublicMethod(form[tcSettings.SelectedIndex + 1], "SelectAll", new object[] { }); } } else if (btn.Name == "btnFilter") { /*號碼縮水*/ string btncontent = (string)btn.Content; btn.IsEnabled = false; btn.Content = "载入中..."; var tmp = (form[1] as UcTwoStart1).Filter(AllConbination); tmp = (form[2] as UcTwoStart2).Filter(tmp); tmp = (form[3] as UcTwoStart3).Filter(tmp); tmp = (form[4] as UcTwoStart4).Filter(tmp); tmp = (form[5] as UcTwoStart5).Filter(tmp); tmp = (form[6] as UcTwoStart6).Filter(tmp); tmp = (form[8] as UcTwoStart8).Filter(tmp); //和差邏輯目前不需要, 大底集合不須縮水 //tmp = (form[7] as UcTwoStart7).Filter(tmp); teResult.Text = string.Join(" ", tmp.Select(x => x.Code)); tbCount.Text = tmp.Count.ToString(); btn.Content = btncontent; btn.IsEnabled = true; } else if (btn.Name == "btnClear") { /*結果清除*/ foreach (var item in tcSettings.Items) { BaseHelper.DynamicPublicMethod((item as TabItem).Content, "SetDefaultValue", new object[] { }); } SetDefaultValue(); } else if (btn.Name == "btnClearA") { /*清除大底A*/ (form[9] as UcTwoStart9).teCompareA.Text = ""; } else if (btn.Name == "btnClearB") { /*清除大底B*/ (form[9] as UcTwoStart9).teCompareB.Text = ""; } else if (btn.Name == "btnCopy") { /*複製*/ if (btnCopy.Tag != null) { if (cm != null) { switch ((string)btnCopy.Tag) { case "miCopyResult": mi_Click(cm.Items[0], null); break; case "miCopyA": mi_Click(cm.Items[1], null); break; case "miCopyB": mi_Click(cm.Items[2], null); break; } } } } }
/// <summary> /// 右半-結果區的按鈕事件 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void btn_Click(object sender, RoutedEventArgs e) { var btn = (sender as System.Windows.Controls.Button); if (btn != null) { if (btn.Name == "btnFilter") { /*開始縮水*/ string btncontent = (string)btn.Content; btn.IsEnabled = false; btn.Content = "载入中..."; //BaseHelper.DynamicPublicMethod((tcSettings.Items[0] as TabItem).Content, "Filter", new object[1] { AllConbination }); /*原寫法 * ////大底先篩 * //var tmp = ((tcSettings.Items[12] as TabItem).Content as UcFiveStart5).Filter(AllConbination); * * ////特別排除 * //tmp = Calculation.FiveSpecialData(tmp, cblSpecialExclude.SelectedValue); * * //tmp = ((tcSettings.Items[0] as TabItem).Content as UcFiveStart1).Filter(tmp); * //tmp = ((tcSettings.Items[1] as TabItem).Content as UcFiveStart2).Filter(tmp); * //tmp = ((tcSettings.Items[10] as TabItem).Content as UcFiveStart3).Filter(tmp); */ //大底先篩 List <BaseOptions> data = ((tcSettings.Items[12] as TabItem).Content as UcFiveStart5).Filter(AllConbination); //最後結果 List <BaseOptions> tmp = new List <BaseOptions>(); foreach (var item in data) { var UnitItem = new List <BaseOptions>() { item }; //特別排除 UnitItem = Calculation.FiveSpecialData(UnitItem, cblSpecialExclude.SelectedValue); UnitItem = ((tcSettings.Items[0] as TabItem).Content as UcFiveStart1).Filter(UnitItem); UnitItem = ((tcSettings.Items[1] as TabItem).Content as UcFiveStart2).Filter(UnitItem); UnitItem = ((tcSettings.Items[10] as TabItem).Content as UcFiveStart3).Filter(UnitItem); if (UnitItem.Count > 0) { tmp.Add(UnitItem[0]); } } teResult.Text = string.Join(" ", tmp.OrderBy(x => x.Code).Select(x => x.Code)); tbCount.Text = tmp.Count.ToString(); //組選 FilterData = tmp; btnTransfer.IsEnabled = true; //btn啟用 btn.Content = btncontent; btn.IsEnabled = true; } else if (btn.Name == "btnClear") { /*清空所有條件*/ foreach (var items in form) { BaseHelper.DynamicPublicMethod(items.Value, "SetDefaultValue", new object[] { }); } SetDefaultValue(); } else if (btn.Name == "btnTransfer") { /*轉為組選*/ if (FilterData != null) { var tmp = Calculation.TransNumber(FilterData); teResult.Text = string.Join(" ", tmp.Select(x => x.Code)); tbCount.Text = tmp.Count.ToString(); } } else if (btn.Name == "btnCopy") { /*全部複製功能*/ if (!string.IsNullOrEmpty(teResult.Text)) { System.Windows.Forms.Clipboard.SetText(teResult.Text); System.Windows.Forms.MessageBox.Show("号码复制成功。"); } } else if (btn.Name == "btnExport") { /*匯出全部號碼*/ FolderBrowserDialog path = new FolderBrowserDialog(); if (path.ShowDialog() == DialogResult.OK) { string exportPath = @"" + path.SelectedPath + @"\五星号码导出.txt"; FileStream fs = new FileStream(exportPath, FileMode.Create, FileAccess.ReadWrite); StreamWriter sw = new StreamWriter(fs, Encoding.Default); sw.Write(teResult.Text); sw.Close(); fs.Close(); System.Windows.Forms.MessageBox.Show("号码导出成功。"); } } } }