如何更改用户单击Windows窗体应用程序中的关闭(红色X)按钮(在C#中)时发生的情况?
我搜索了SO并找到了关于Quartz.net的答案.但它似乎对我的项目来说太大了.我想要一个等效的解决方案,但更简单和(最好)代码内(不需要外部库).如何在特定时间每天调用一种方法?
我需要添加一些关于此的信息:
我想要一种更有效的方法来做到这一点,不需要经常检查时间,并且我可以控制是否完成了工作.如果方法失败(由于任何问题),程序应该知道写入日志/发送电子邮件.这就是我需要调用方法而不是安排工作的原因.
我发现这个解决方案在Java中用Java定时调用一个方法.在C#中是否有类似的方式?
编辑:我做到了这一点.我在void Main()中添加了一个参数,并创建了一个bat(由Windows Task Scheduler安排)以使用此参数运行程序.程序运行,完成工作,然后退出.如果作业失败,则能够写入日志和发送电子邮件.这种方法很符合我的要求:)
我有一个Windows窗体应用程序VS2010 C#,其中我显示一个MessageBox来显示一条消息.
我有一个好的按钮,但如果他们走开,我想超时并关闭消息框后,让我们说5秒,自动关闭消息框.
有自定义的MessageBox(继承自Form)或其他报告者表单,但有趣的是没有必要的Form.
关于它的任何建议或样品?
更新:
对于WPF
在C#中自动关闭消息框
自定义MessageBox(使用表单继承)
http://www.codeproject.com/Articles/17253/A-Custom-Message-Box
http://www.codeproject.com/Articles/327212/Custom-Message-Box-in-VC
http://tutplusplus.blogspot.com.es/2010/07/c-tutorial-create-your-own-custom.html
可滚动MessageBox
C#中的可滚动MessageBox
例外记者
/sf/ask/3445711/
http://www.codeproject.com/Articles/6895/A-Reusable-Flexible-Error-Reporting-Framework
解:
也许我认为以下答案是很好的解决方案,而不使用表格.
我正在使用C#和Windows Forms.我有一个正常的进度条在该程序中正常工作,但现在我有另一个操作,其中持续时间不容易计算.我想显示一个进度条,但不知道启动/停止滚动选框的最佳方法.我希望有一些简单的东西,如设置选取框速度,然后有一个start()和stop(),但它看起来并不那么简单.我必须在后台运行一个空循环吗?我该如何做到最好?谢谢
我创建一个新表单并从父表单调用如下:
loginForm = new SubLogin();
loginForm.Show();
Run Code Online (Sandbox Code Playgroud)
我需要在父级的中心显示子表单.所以,在子表单加载中我做了foll:`
Point p = new Point(this.ParentForm.Width / 2 - this.Width / 2, this.ParentForm.Height / 2 - this.Height / 2);
this.Location = p;
Run Code Online (Sandbox Code Playgroud)
但是这会抛出错误,因为父表单为空.我也尝试设置Parent属性,但没有帮助.有什么输入吗?
我在#.NET应用程序中使用TabControl.默认情况下,TabControl的第一个标签页显示在表单加载中.我想激活/显示表单加载中的其他标签页.以编程方式,我如何显示其他标签页?
在我的应用程序中,我想首先显示登录表单,然后在登录成功时显示主表单.目前我正在这样做:
var A = new LoginForm();
if ( A.ShowDialog() == DialogResult.OK )
Application.Run(new MainForm());
Run Code Online (Sandbox Code Playgroud)
但后来我开始疑惑 - 这有什么意义Application.Run()呢?为什么不做(new MainForm()).ShowDialog()呢?有什么不同?什么是实现我想要的正确方法?
这里的简短问题:
在.Net 4.0 Winforms中,如何使用a的PasswordChar属性Textbox将常见的黑点显示为字符?是否有一些我可以使用的字体作为一个字符?
如果我使用' UseSystemPasswordChar = true'它会显示一个星号(*).
例如,假设我在表单1然后我想:
c# ×10
winforms ×10
.net ×1
forms ×1
messagebox ×1
methods ×1
progress-bar ×1
tabcontrol ×1
tabpage ×1
textbox ×1