【问题标题】:Window form open click event窗体打开点击事件
【发布时间】:2019-07-16 06:48:48
【问题描述】:

这里我使用的是 3d 对象设计产品,如果我双击一个将打开一个表单的实体,在某些情况下,客户端在打开表单之前被多次单击,因此这里多次触发双击事件,它在线程上运行, 如果特定表单打开,我检查了一个条件,然后我忽略了表单再次注册,但在我的情况下,在表单关闭后触发下一个单击事件并再次打开表单,在再次关闭表单后再次打开它,这继续好几次

有人建议如何避免多次打开表单

【问题讨论】:

  • 您可以使用在首次请求表单时设置的布尔字段,然后在关闭该表单时重置。处理这些事件并实现类似自定义逻辑的 manager 类可能很有用。例如,当您不希望 Control 在异步方法返回之前多次触发相同的异步代码时,它通常与 async/await 模式一起使用。

标签: .net winforms windows-forms-designer


【解决方案1】:

解决这个问题的一种方法是在你的任务中实现一个布尔系统,如果你明白我的意思的话。例如,当您打开表单/应用程序时,您可以有一个变量:

boolean firstTime = false;

打开触发双击事件时,将下一个表单设置为:

this.firstTime = true;

然后当其他表单打开时,只需将这段代码放入其中以防止它们多次打开:

if (this.firstTime == true) {
    this.Close;
}

当您退出表单时,只需将 firstTime 设置为 false,如下所示:

this.firstTime = false;

如果您希望您的应用程序关闭然后具有相同的值,最好将 firstTime 变量存储在本地存储的文件或应用程序的属性中。如果我没有正确理解某些内容,请通知我。希望对您有所帮助!

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-07-13
    • 1970-01-01
    • 1970-01-01
    • 2021-12-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多