标签: winforms

如何获得"友好"的操作系统版本名称?

我正在寻找一种优雅的方式来获得操作系统版本:"Windows XP Professional Service Pack 1"或"Windows Server 2008 Standard Edition"等.

这样做有一种优雅的方式吗?

我也对处理器架构感兴趣(如x86或x64).

.net c# operating-system winforms

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

在C#中按名称获取Windows窗体控件

我有一个名为"myMenu"的ToolStripMenuItem.我怎样才能这样访问:

/* Normally, I would do: */
this.myMenu... etc.

/* But how do I access it like this: */
String name = myMenu;
this.name...
Run Code Online (Sandbox Code Playgroud)

这是因为我从XML文件动态生成ToolStripMenuItems,需要通过动态生成的名称来引用menuitems.

c# string controls accessibility winforms

59
推荐指数
7
解决办法
19万
查看次数

关于在.NET中干净地终止线程的问题

我理解Thread.Abort()在我读过的关于这个主题的大量文章中是邪恶的,所以我目前正在扯掉我的中止,以便以更清洁的方式取代它; 并且在比较了stackoverflow上的人们的用户策略之后,然后在阅读MSDN上的" 如何:创建和终止线程(C#编程指南) "之后,两者都说明了一种非常相似的方法 - 即使用volatile bool方法检查策略,这很好,但我还有几个问题....

如果你没有一个简单的工作进程只是运行一个运算循环的代码,那么我的优势就在于此.比如说对我来说,我的进程是一个后台文件上传程序进程,我实际上是循环遍历每个文件,所以这是一些东西,并确保我可以while (!_shouldStop)在顶部添加我的每个循环迭代,但我有更多的业务流程它发生在它下一次循环迭代之前发生,我希望这个取消程序是快节奏的; 不要告诉我,我需要在整个工作人员功能中每隔4-5行循环播放这些内容吗?!

我真的希望有一个更好的方法,有人可以告诉我这是否实际上是正确的[并且只有?]做到这一点的方法,或者他们过去用来实现我所追求的目标的策略.

谢谢帮派.

进一步阅读:所有这些SO响应都假设工作线程将循环.这并不适合我.如果它是线性的,但是及时的背景操作怎么办?

.net c# multithreading winforms

59
推荐指数
3
解决办法
4万
查看次数

使用Dictionary作为数据源绑定组合框

我正在使用.NET 2.0,我正在尝试将组合框的数据源绑定到排序字典.

所以我得到的错误是"DataMember属性'Key'无法在数据源上找到".

        SortedDictionary<string, int> userCache = UserCache.getSortedUserValueCache();
        userListComboBox.DataSource = new BindingSource(userCache, "Key"); //This line is causing the error
        userListComboBox.DisplayMember = "Key";
        userListComboBox.ValueMember = "Value";
Run Code Online (Sandbox Code Playgroud)

.net c# combobox datasource winforms

59
推荐指数
4
解决办法
11万
查看次数

如何更改禁用TextBox的字体颜色?

有谁知道哪个属性设置禁用控件的文本颜色?我必须在禁用中显示一些文本,TextBox并且我想将其颜色设置为黑色.

c# winforms

58
推荐指数
4
解决办法
11万
查看次数

如何让DateTimePicker显示空字符串?

我希望能够显示DateTimePicker默认值为nothing,即没有日期.

例如,我有一个任务的开始日期dtTaskStart和结束日期dtTaskEnd,但结束日期未知,并且最初未填充.

我已yyyy-MM-dd为两个控件指定了自定义格式.

null在运行时将值设置为或为空字符串会导致错误,因此如何实现此目的?

我曾考虑使用复选框来控制此字段的启用,但仍然存在显示初始值的问题.

编辑:
可以说是问题DateTimePicker Null Value(.NET)的副本,但我找到的问题的解决方案不是该问题的解决方案,所以我认为它应该留在这里供其他人查找..

.net datetimepicker winforms

58
推荐指数
4
解决办法
16万
查看次数

单击关闭按钮时隐藏表单而不是关闭

当用户单击X表单上的按钮时,如何隐藏它而不是关闭它?

我曾尝试this.hide()FormClosing,但它仍然关闭窗体.

.net c# winforms

58
推荐指数
4
解决办法
5万
查看次数

如何为我的C#应用​​程序制作安装程序?

我在Visual Studio 2008上创建了一个应用程序(C#,Windows Forms),现在我想制作这个应用程序的安装程序.如何才能做到这一点?

我想要我的安装程序

  • 将我的应用程序正在使用的所有文件复制到用户选择的路径(将文件复制到所选文件,一些文件复制到服务器端应用程序,一些文件复制到客户端).
  • 还要安装.NET 3.5
  • 检查SQL ServerSQL Server Express Edition

我该怎么做?

c# installer winforms

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

如何滚动到ListBox的底部?

我使用Winforms ListBox作为一个小事件列表,并希望填充它以便最后一个事件(底部)可见.该SelectionMode设置为none.用户可以滚动列表,但我希望它开始滚动到最后.

看着缺少的东西像支持ScrollIntoView,EnsureVisible,我假设我将需要创建一个从Control继承的自定义控制; 但是我不知道该怎么做.

一些指针?

c# listbox winforms

58
推荐指数
2
解决办法
6万
查看次数

打开文件对话框,多个Excel扩展的一个过滤器?

我想使用OpenFileDialog对象浏览到excel文件.我想设置过滤器打开具有不同类型的excel扩展名的文件,如:.xls,.xlsm,.xlsx等.

我正在使用的是:

OpenFileDialog of = new OpenFileDialog();
of.Filter = "Excel Files(.xls)|*.xls| 
    Excel Files(.xlsx)|*.xlsx| Excel Files(*.xlsm)|*.xlsm";
Run Code Online (Sandbox Code Playgroud)

这有效,但用户必须从OpenFileDialog的下拉列表中选择正确的excel文件类型.

有谁知道是否有办法为所有类型的Excel扩展应用一个过滤器?

类似于:"... Excel文件(.xls,.xlsx,.xlxm)|*.xls,*.xlsx,*.xlsm;"

提前感谢您的回复.

c# openfiledialog winforms

58
推荐指数
2
解决办法
10万
查看次数