以下代码不会退出应用程序.如何退出应用程序并确保所有正在运行的线程都已关闭?
foreach (Form form in Application.OpenForms)
{
form.Close();
}
Application.Exit();
Run Code Online (Sandbox Code Playgroud) 我需要改变的消息框控制按钮Yes来Continue和No到Close.如何更改按钮文字?
这是我的代码:
DialogResult dlgResult = MessageBox.Show("Patterns have been logged successfully", "Logtool", MessageBoxButtons.YesNo, MessageBoxIcon.Information);
Run Code Online (Sandbox Code Playgroud) 我刚刚开始研究c#,并且正在摆弄一些我从某个论坛获得的代码示例.
此代码使用的命名空间using system.windows.forms我收到错误:senddown.我也是收到有关未定义功能的一些错误sendup与Forms我认为是在using system.windows.forms名字空间.
我正在使用visual studio 10(使用.net框架工作4.0).知道如何修复此错误吗?
谢谢.
以下是我们退出应用程序的方式:
Environment.Exit(0)Application.Exit()Form.Close()这三种方法之间的区别是什么?何时使用每种方法?
我正在寻找一种有效的方法来实现Windows窗体应用程序的日志窗口.在过去,我已经使用TextBox和RichTextBox实现了几个,但我仍然不完全满意这个功能.
此日志旨在向用户提供各种事件的近期历史记录,主要用于数据收集应用程序,其中可能会对特定事务的完成方式感到好奇.在这种情况下,日志不必是永久性的,也不必保存到文件中.
首先,一些提出的要求:
到目前为止我一直用来编写和修剪日志:
我使用以下代码(我从其他线程调用):
// rtbLog is a RichTextBox
// _MaxLines is an int
public void AppendLog(string s, Color c, bool bNewLine)
{
if (rtbLog.InvokeRequired)
{
object[] args = { s, c, bNewLine };
rtbLog.Invoke(new AppendLogDel(AppendLog), args);
return;
}
try
{
rtbLog.SelectionColor = c;
rtbLog.AppendText(s);
if (bNewLine) rtbLog.AppendText(Environment.NewLine);
TrimLog();
rtbLog.SelectionStart = rtbLog.TextLength;
rtbLog.ScrollToCaret();
rtbLog.Update();
}
catch (Exception exc)
{
// exception handling
}
}
private void TrimLog()
{
try
{
// Extra …Run Code Online (Sandbox Code Playgroud) 如何检测System.Windows.Forms.WebBrowser控件何时完成加载?
我尝试使用Navigate和DocumentCompleted事件,但在文档加载期间它们都被引发了几次!
我想用我的DataGridView唯一来展示东西,我希望用户不能从中选择任何行,字段或任何东西DataGridView.
我怎样才能做到这一点?
更新基础数据源时刷新DataGridView的最佳方法是什么?
我经常更新数据源,并希望在发生时向用户显示结果.
我已经得到了这样的东西(并且它可以工作),但是忽略DataGridView.DataSource它似乎不是正确的方式.
List<ItemState> itemStates = new List<ItemState>();
dataGridView1.DataSource = itemStates;
for (int i = 0; i < 10; i++) {
itemStates.Add(new ItemState { Id = i.ToString() });
dataGridView1.DataSource = null;
dataGridView1.DataSource = itemStates;
System.Threading.Thread.Sleep(500);
}
Run Code Online (Sandbox Code Playgroud) 我有一个dataGridView有3列:SystemId,FirstName,LastName使用数据库信息绑定.我想强调某一行,我会用它来做:
dataGridView1.Rows[????].Selected = true;
Run Code Online (Sandbox Code Playgroud)
然而,行ID我不知道并且bindingsource一直在变化,因此第10行在一个实例中可能是"John Smith"但在另一个实例中甚至不存在(我有一个过滤器根据用户输入的内容过滤掉源,因此输入在"joh"中会产生名字中包含"joh"的所有行,因此我的列表可以从50个名称变为3个单击中的3个.
我想找到一种方法,我可以根据SystemId和相应的数字选择一行.我可以使用以下方法获取系统ID:
systemId = dataGridView1.Rows[dataGridView1.CurrentRow.Index].Cells["SystemId"].Value.ToString();
Run Code Online (Sandbox Code Playgroud)
现在我只需要将它应用于行选择器.类似于dataGridView1.Columns ["SystemId"] .IndexOf(systemId)但不起作用(这种方法也不存在).非常感谢任何帮助.