标签: winforms

什么是最小化托盘C#WinForms应用程序的正确方法是什么?

将WinForms应用程序最小化到系统托盘的正确方法是什么?

注意:最小化到系统托盘 ; 在时钟任务栏的右侧.我不是要求最小化到任务栏,这是当你点击窗口上的"减号"按钮时会发生的事情.

我已经看到了像"最小化,设置ShowInTaskbar = false,然后显示你的NotifyIcon"这样的hackish解决方案.

像这样的解决方案是hackish,因为应用程序似乎不像其他应用程序那样最小化托盘,代码必须检测何时设置ShowInTaskbar = true,以及其他问题.

这样做的正确方法是什么?

c# trayicon winforms

60
推荐指数
3
解决办法
6万
查看次数

C#中的多线程闪屏?

我想在应用程序加载时显示启动画面.我有一个带有系统托盘控件的表单.我希望在加载此表单时显示启动画面,这需要一些时间,因为它正在访问Web服务API以填充一些下拉菜单.我还想在加载之前对依赖项进行一些基本测试(也就是说,Web服务可用,配置文件是可读的).随着启动的每个阶段的进行,我想要通过进度更新启动屏幕.

我一直在阅读很多关于线程的内容,但是我对它应该控制的地方感到迷茫(main()方法?).我也想知道它是如何main()工作的,这是应该创建的线程吗?现在,如果带有系统托盘控件的表单是"生命"表单,那么它应该来自那里吗?在形式完成之前不会加载吗?

我不是在寻找代码讲义,更多的是算法/方法,所以我可以一劳永逸地解决这个问题:)

.net c# multithreading splash-screen winforms

60
推荐指数
7
解决办法
4万
查看次数

Winforms问题 - 创建窗口句柄时出错

我们在Winform应用程序中看到此错误.任何人都可以帮助您看到此错误的原因,更重要的是如何修复它或避免它发生.

System.ComponentModel.Win32Exception: Error creating window handle.
   at System.Windows.Forms.NativeWindow.CreateHandle(CreateParams cp)
   at System.Windows.Forms.Control.CreateHandle()
   at System.Windows.Forms.Control.CreateControl(Boolean fIgnoreVisible)
   at System.Windows.Forms.Control.CreateControl()
   at System.Windows.Forms.Control.OnVisibleChanged(EventArgs e)
   at System.Windows.Forms.ButtonBase.OnVisibleChanged(EventArgs e)

c# windows window-handles winforms

60
推荐指数
4
解决办法
10万
查看次数

滚动到C#TextBox的底部

我在C#Forms应用程序上有一个TextBox.我使用有关窗体的Load事件的信息填充TextBox.然后我打电话给以下人员:

this.txtLogEntries.SelectionStart = txtLogEntries.Text.Length;
this.txtLogEntries.ScrollToCaret();
Run Code Online (Sandbox Code Playgroud)

但是TextBox不会滚动到底部?

这仅适用于Load事件.我还会在应用程序运行时从应用程序的其他部分更新此TextBox,并且只要其中一个事件更新为TextBox,它就会滚动到底部.

那么,如何在Form Load事件中预先填充TextBox时将其滚动到底部?

c# textbox winforms

60
推荐指数
2
解决办法
3万
查看次数

如何正确停止BackgroundWorker


我有一个有2个组合框的表格.我想combobox2.DataSource基于combobox1.Text和填充combobox2.Text(我假设用户已完成输入combobox1并且正在输入中combobox2).所以我有一个这样的事件处理程序combobox2:

private void combobox2_TextChanged(object sender, EventArgs e)
{
    if (cmbDataSourceExtractor.IsBusy)
       cmbDataSourceExtractor.CancelAsync();

    var filledComboboxValues = new FilledComboboxValues{ V1 = combobox1.Text,
       V2 = combobox2.Text};
    cmbDataSourceExtractor.RunWorkerAsync(filledComboboxValues );
}
Run Code Online (Sandbox Code Playgroud)

至于构建DataSource是一个耗时的过程(它创建一个对数据库的请求并执行它)我决定使用BackgroundWorker在另一个进程中执行它更好.因此,当cmbDataSourceExtractor尚未完成其工作并且用户再键入一个符号时,会出现这种情况.在这种情况下,我在这一行上得到一个例外,
cmbDataSourceExtractor.RunWorkerAsync(filledComboboxValues );说明BackgroundWorker正忙,无法同时执行多个操作.
如何摆脱这种异常?
提前致谢!

.net c# backgroundworker winforms

60
推荐指数
3
解决办法
18万
查看次数

VB.NET - 中断表单循环和结束表单

我有一个经历无限循环并处理数据的表单.当我单击"关闭"表单的按钮时,表单即使关闭也会继续处理.我希望表单完全结束并退出其循环语句,然后打开一个新表单.

这是我用来关闭表单的代码

frmMain.Close()
frmMain.Dispose()
Run Code Online (Sandbox Code Playgroud)

注意:我没有使用线程,它只是一个简单的VB.NET应用程序.我没有关闭主要的启动表格.

vb.net user-interface winforms

60
推荐指数
2
解决办法
1万
查看次数

如何在DataGridView列中右对齐文本?

如何在DataGridView列中右对齐文本?我正在编写.NET WinForms应用程序.

.net datagridview datagridviewcolumn winforms

60
推荐指数
3
解决办法
12万
查看次数

如何在Windows窗体应用程序中构建启动画面?

我需要在应用程序启动时显示启动画面几秒钟.有人知道如何实现这个吗?

非常感谢您的帮助.

c# splash-screen winforms

60
推荐指数
3
解决办法
13万
查看次数

如何禁止编辑文本框?

我想用一个文本框来显示一些文字.我无法禁用它,因为滚动条将无法正常工作.

如何防止在多行文本框中进行编辑,但是使其看起来好像已启用,以便滚动条正常工作?

c# textbox winforms

60
推荐指数
4
解决办法
14万
查看次数

标签自动换行

有没有办法在.NET标签控件中进行自动换行?

我知道有另一种方法可以使用TextBox,将属性BorderStyle设置为none,将属性ReadOnly设置为true并将属性WordWrap和属性Multiline设置为true.

有标签的东西吗?

c# winforms c#-3.0 c#-4.0

59
推荐指数
6
解决办法
17万
查看次数