首页 > 编程知识 正文

c和c#和c++区别(c语言中文网)

时间:2023-05-03 14:30:39 阅读:66051 作者:2621

在程序中,经常会出现一个对话框,让用户填写一些信息。 填写完成后,单击“确定”按钮,然后在主表单中进行其他处理。 例如,在一个简单的示例中,主窗体包含一个名为“增加用户”的菜单。 点击此菜单后,需要提交增加用户的表格并退出。 假设“增加用户”表单为frmAddUser,则代码如下所示:

frmAddUser frm=new frmAddUser (; if (frm.showdialog (==dialogresult.ok )/todolist )是dialogresult的属性,通常用于设置“增加用户”表单中的“确定”按钮。

设置完成后,当用户单击“确定”按钮时,该对话框将关闭并返回主窗体。 然后,可以进行适当的处理,例如在主窗体中将数据写入数据库。

一个问题是,“增加用户”表单如下所示:

如果我想确定用户输入的邮件格式是否正确,我应该把这个代码放在哪里? 如果放入邮件输入框的TextBox的TextChaged事件中,则在用户输入字符时会发生该事件。 这不好。 如果放入“确定”按钮事件,并且用户的邮件格式输入不正确,则它将继续留在此表单中,等待用户修改,而不是返回主表单。 但事实并非如此。 因为有“确定”按钮的设定

if (frm.showdialog (==dialogresult.ok ) )的判断为真,无论邮件格式是否正确,主表单都将继续在下面运行。

最后,我终于找到了一个好的解决办法。 我原以为只有Button才具有诊断lue属性,但没想到表单中也有这个属性。 因此,完全不需要设置“确定”按钮的Diagolue属性。 将确定邮件是否合格的方法直接放置在“确定”按钮的单击事件中,如果匹配,则将窗体的Diagolue属性设置为OK,然后使用以下代码:

this.dialogresult=dialogresult.ok; 因此,主窗体上的if (frm.showdialog (==dialogresult.ok ) )的判断也为真,将继续执行以下代码: 不符合格式的情况下什么都不做。 由于窗体的Diagolue属性未设置为OK,因此“增加用户”对话框永远不会关闭,主窗体也将继续等待,而不执行其他代码。

例子很简单,但我不知道这些,所以在这里记录。 当然这是一种方法,也可以用其他方法解决这样的问题。

原文链接: 3358 www.cn blogs.com/xiaoxiang feizi/archive/2012/04/19/2456469.html

转载于:https://www.cn blogs.com/l story/p/7388420.html

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。