C# DialogResult用法案例详解

 更新时间:2021年08月27日 10:03:58   作者:weixin_30419799  
这篇文章主要介绍了C# DialogResult用法案例详解,本篇文章通过简要的案例,讲解了该项技术的了解与使用,以下就是详细内容,需要的朋友可以参考下

在程序中,经常会弹出一个对话框来让用户填写一些信息,填写完成后,当用户点击“确定”按钮后,在主窗体中进行其他的处理。比如一个简单的例子,在主窗体中有一个菜单,是“增加用户”,当点击这个菜单之后,我们需要弹出一个增加用户的窗体出来,就假设“增加用户”的窗体叫frmAddUser,那么代码如下:

frmAddUser frm = new frmAddUser();
   if (frm.ShowDialog() == DialogResult.OK)   
   {
    //todo list
   } 

一般都是设置“增加用户”窗体中“确定”按钮的DialogResult的属性,

clip_image002

      设置完成后,只要用户一点击“确定”按钮,那么对话框就关闭,重新回到主窗体,然后可以在主窗体中进行相应的处理,比如把数据写入数据库等。

      现在有一个问题就是,“增加用户”的窗体如下:

clip_image004

      如果我想判断一下,用户输入的邮件格式是否正确,那么我该把这段代码放在哪呢?如果放在邮件输入框那个TextBox的TextChaged事件中,那么用户输入一个字母都会激发那个事件,这样就不太好,如果放在“确定”按钮的事件中,那么如果用户的邮件格式输入的不正确,就不应该返回主窗体,而是继续留在这个窗体上,等待用户修改,可是事实却不是这样,因为你设置了“确定”按钮的Dialogue属性,只要用户一点击按钮,主窗体中的

if (frm.ShowDialog() == DialogResult.OK)

这个判断就为真,不管你的邮件格式是否正确,主窗体都会继续向下执行。

      最后,终于找到了一个比较好的解决办法,都以为只有Button才有Diagolue属性,没想到窗体也有这个属性。所以我们根本就不需要设置“确定”按钮的Diagolue属性,直接把判断邮件是否合格的方法放在”确定”按钮的点击事件中,如果符合,那么就设置窗体的Diagolue属性为OK,用下面的代码:

this.DialogResult = DialogResult.OK;

这样主窗体中的if (frm.ShowDialog() == DialogResult.OK)这个判断也为真,它会继续执行下面的代码。如果不符合格式,就啥也不做,因为没有设置窗体的Diagolue属性为OK,所以“增加用户”的对话框永远不会关闭,主窗体也会一直等待,而不会去执行其他的代码。

     例子比较简单,只是我原来不知道这些,所以在这里记录一下。当然这只是一种办法,你也可以用其他的方法来解决类似这样的问题。

到此这篇关于C# DialogResult用法案例详解的文章就介绍到这了,更多相关C# DialogResult用法内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • C# Winform调用百度接口实现人脸识别教程(附源码)

    C# Winform调用百度接口实现人脸识别教程(附源码)

    这篇文章主要介绍了C# Winform调用百度接口实现人脸识别教程,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-05-05
  • 一篇文章彻底搞清楚c#中的委托与事件

    一篇文章彻底搞清楚c#中的委托与事件

    这篇文章主要给大家介绍了如何通过一篇文章彻底搞清楚c#中的委托与事件,文中通过示例代码介绍的非常详细,对大家学习或者使用c#具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧
    2019-07-07
  • 基于Unity编写一个九宫格抽奖软件

    基于Unity编写一个九宫格抽奖软件

    这篇文章主要为大家介绍了如何利用Unity编写一个年会抽奖软件,还能设置中奖概率。文中的示例代码讲解详细,感兴趣的可以了解一下
    2022-03-03
  • C#实现XML文档的增删改查功能示例

    C#实现XML文档的增删改查功能示例

    这篇文章主要介绍了C#实现XML文档的增删改查功能,结合实例形式分析了xml文档的创建及C#针对xml文档的加载及增删改查等操作技巧,需要的朋友可以参考下
    2017-01-01
  • C#中split用法实例总结

    C#中split用法实例总结

    这篇文章主要介绍了C#中split用法,结合实例形式总结分析了C#常见的split操作字符串相关技巧,需要的朋友可以参考下
    2016-06-06
  • C#实现线段树的示例代码

    C#实现线段树的示例代码

    线段树是一种常用来维护区间信息的数据结构,本文主要介绍了C#实现线段树的示例代码,具有一定的参考价值,感兴趣的可以了解一下
    2023-11-11
  • C#实现二叉查找树

    C#实现二叉查找树

    本文详细讲解了C#实现二叉查找树的方法,文中通过示例代码介绍的非常详细。对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2022-04-04
  • C#正则表达式匹配HTML中的图片路径,图片地址代码

    C#正则表达式匹配HTML中的图片路径,图片地址代码

    最近的项目中有个关于网页取图的功能需要我自己开发,那就是用正则表达式来匹配图片标签,这里简单介绍下实现方法,需要的朋友可以参考下
    2013-12-12
  • Unity实现菜品识别的示例代码

    Unity实现菜品识别的示例代码

    这篇文章主要介绍了如何通过Unity实现菜品识别,可以准确识别图片中的菜品名称、位置、卡路里信息,并获取百科信息。感兴趣的小伙伴可以了解一下
    2022-02-02
  • C#使用Data Annotations进行手动数据验证

    C#使用Data Annotations进行手动数据验证

    这篇文章介绍了C#使用Data Annotations进行手动数据验证的方法,文中通过示例代码介绍的非常详细。对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2022-06-06

最新评论