如何通过代码自动点击对话框中的OK按钮?
程序化点击对话框OK按钮的最优方案
我需要通过代码自动点击对话框中的OK按钮。虽然已经编写了无需手动操作对话框的代码片段(理论上不需要此操作),但某些功能必须点击OK才能正常生效。
当前正在排查自研机器人的问题,该机器人需每30天更新一次密码,我想测试点击OK是否会影响功能。理想状态下无需对话框及程序化点击OK,但目前必须这么做。我考虑过遍历控件查找btnOk按钮,但希望有更优方案。
代码片段1(仅设置对话框内容,无特殊逻辑)
ConnPropsForm propsForm = new ConnPropsForm(); editOutput.Text = ""; propsForm.editUsername.Text = User; propsForm.editPassword.Text = Password; propsForm.editAddress.Text = _HOST; propsForm.editPort.Value = Convert.ToInt32(_PORT); propsForm.txtPrivateKey.Text = string.Empty; propsForm.txtPrivateKeyPassword.Text = string.Empty; propsForm.txtTrustedKeys.Text = string.Empty; client.Username = propsForm.editUsername.Text; client.Password = propsForm.editPassword.Text; client.TrustedKeysFile = propsForm.txtTrustedKeys.Text;
代码片段2(核心逻辑)
if (propsForm.ShowDialog(this) == DialogResult.OK) { editOutput.Text = ""; client.Username = propsForm.editUsername.Text; client.Password = propsForm.editPassword.Text; if (propsForm.txtPrivateKey.Text != "") { try { Sshkeymanager keymanager = new Sshkeymanager(); keymanager.ImportFromFile(propsForm.txtPrivateKey.Text, propsForm.txtPrivateKeyPassword.Text); client.Key = keymanager.Key; } catch (Exception E) { MessageBox.Show(E.Message); } } client.TrustedKeysFile = propsForm.txtTrustedKeys.Text; try { client.Connect(propsForm.editAddress.Text, (int)propsForm.editPort.Value); LoadRoot(); UpdateControls(); } catch (Exception E) { MessageBox.Show(E.Message); } }
内容的提问来源于stack exchange,提问作者mholmes3038
相关产品推荐
相关产品推荐

