用户控制按钮关闭对话框

Tar*_*ryn 3 c# user-controls dialogresult winforms

我在我的应用程序中创建了一个用户控件,它有一个文本框,然后有2个按钮.一个按钮是从文本框向数据库添加数据,第二个按钮取消操作.然后将此用户控件添加到多个对话框(表单)中,但我希望按钮触发相同的事件,这就是我将按钮放在用户控件而不是对话框上的原因.

我想要做的是在他们点击添加数据按钮后它成功,我希望它关闭控件所在的对话框.

编辑:

从用户控件触发时,我不知道如何对此进行编码以关闭对话框.我不知道从哪里开始因为我之前没有使用过用户控件.通常我只是在Dialog上有控件,允许使用DialogResult = DialogResult.OK;

谢谢

Iai*_*ard 6

以模态方式打开的表单将在设置DialogResult时自动关闭.从它的声音,你设置控件的DialogResult,而不是表单.要执行您要执行的操作,您需要控件来设置或触发父窗体对话框结果的设置.你可以这样做:

1.将表单的引用传递给控件,​​允许控件设置它.

2.在窗体监听的控件上创建一个事件,告诉它关闭.(重新登陆的方式)

3. (hacky方式)使用以下代码设置表单对话框结果:

this.ParentForm.DialogResult = DialogResult.OK;
Run Code Online (Sandbox Code Playgroud)

表单也需要以模态显示,否则您需要手动调用Close()方法.