private void btnSaveSetting_Click(object sender, EventArgs e) { if (txtMongoDbConnectionString.Text.Length == 0) { MessageBox.Show("日志数据库的连接字符串不能为空。", this.FindForm().Text, MessageBoxButtons.OK, MessageBoxIcon.Warning); return; } if (txtLoginCookieName.Text.Length == 0) { MessageBox.Show("登录Cookie名称不能为空。", this.FindForm().Text, MessageBoxButtons.OK, MessageBoxIcon.Warning); return; } if (txtLoginRequestRaw.Text.Length == 0) { MessageBox.Show("登录请求文本不能为空。", this.FindForm().Text, MessageBoxButtons.OK, MessageBoxIcon.Warning); return; } try { // 检验输入的请求文本是否正确 HttpOption option = HttpOption.FromRawText(txtLoginRequestRaw.Text); Uri uri = new Uri(option.Url); if (option.Data == null) { throw new ArgumentException("没有登录操作需要的提交数据。"); } } catch (Exception ex) { MessageBox.Show(ex.Message, this.FindForm().Text, MessageBoxButtons.OK, MessageBoxIcon.Error); return; } RunTimeSettings settings = new RunTimeSettings(); settings.MongoDbConnectionString = txtMongoDbConnectionString.Text; settings.LoginCookieName = txtLoginCookieName.Text; settings.LoginRequestRaw = txtLoginRequestRaw.Text; XmlHelper.XmlSerializeToFile(settings, "RunTimeSettings.config", Encoding.UTF8); MessageBox.Show("保存操作成功完成。", this.FindForm().Text, MessageBoxButtons.OK, MessageBoxIcon.Information); EventHandler <SaveSettingsEventArgs> eventHandler = this.SaveSettingButtonClick; if (eventHandler != null) { SaveSettingsEventArgs args = new SaveSettingsEventArgs { NewSettings = settings }; eventHandler(btnCancelSetting, args); } }
private async void btnResenExecute_Click(object sender, EventArgs e) { if (btnResenExecute.Enabled == false) { return; } if (txtRequestRaw.Text.Length == 0) { MessageBox.Show("HttpRequest Raw Text Is Emtpy!", this.FindForm().Text, MessageBoxButtons.OK, MessageBoxIcon.Warning); return; } RunTimeSettings settings = GetRunTimeSettings(); if (settings.LoginRequestRaw == null || string.IsNullOrEmpty(settings.LoginRequestRaw) || string.IsNullOrEmpty(settings.LoginCookieName)) { MessageBox.Show("请设置登录参数后,才能发送请求。", this.FindForm().Text, MessageBoxButtons.OK, MessageBoxIcon.Warning); return; } try { RequestHelper helper = new RequestHelper(settings.LoginRequestRaw, settings.LoginCookieName); btnResenExecute.Enabled = false; List <ResendResult> list = await Task.Run(() => helper.BatchSendRequest(txtRequestRaw.Text, (int)numericUpDownResend.Value)); ShowSendResult(list); } catch (Exception ex) { MessageBox.Show(ex.Message, this.FindForm().Text, MessageBoxButtons.OK, MessageBoxIcon.Error); } finally { btnResenExecute.Enabled = true; } }
private void MainForm_Shown(object sender, EventArgs e) { SetIcon(); // 加载参数 _runTimeSettings = RunTimeSettings.LoadSettings(); logSearchControl1.GetRunTimeSettings = () => _runTimeSettings; logSearchControl1.ReSendButtonClick += LogSearchControl1_ReSendButtonClick; sendRequestControl1.GetRunTimeSettings = () => _runTimeSettings; // 将参数显示到设置界面 settingsControl1.ShowSettings(_runTimeSettings); settingsControl1.CancelSettingButtonClick += SettingsControl1_CancelSettingButtonClick; settingsControl1.SaveSettingButtonClick += SettingsControl1_SaveSettingButtonClick; foreach (var page in tabControl1.Controls) { ((page as TabPage).Controls[0] as BaseUserControl).OnFormLoad(); } }
internal void ShowSettings(RunTimeSettings settings) { txtMongoDbConnectionString.Text = settings.MongoDbConnectionString; txtLoginCookieName.Text = settings.LoginCookieName; txtLoginRequestRaw.Text = settings.LoginRequestRaw?.Value.Replace("\n", "\r\n"); }
private void SettingsControl1_SaveSettingButtonClick(object sender, SaveSettingsEventArgs e) { _runTimeSettings = e.NewSettings; }