所有问题: [winforms]

4,839 个问题

70
投票
12答案
49178 次观看

如何在关闭表单事件中停止BackgroundWorker?

我有一个生成BackgroundWorker的表单,该表单应更新表单自己的文本框(在主线程上),因此应调用Invoke((Action) (...));。 如果在HandleClosingEvent中我只是做bgWorker.CancelAsync(),那么我在ObjectDisposedException呼叫中得到Invoke(...),这是可以理解的。但是如果我坐在HandleClosingEvent并等待bgWorker完成,那么.Invoke(...)永远不会返回,这也是可以理解的。 有什么主意,我该如何关闭该应用程序而不会出现异常或死锁? 以下是简单的Form1类的3种相关...

47
投票
6答案
49885 次观看

如何启动WinForm应用最小化到托盘?

我已经成功创建了一个使用NotifyIcon最小化托盘的应用程序。手动关闭表单后,将从桌面,任务栏和alt-tab中成功隐藏该表单。尝试最小化启动应用程序时发生问题。最初的问题是该应用程序将被最小化,但仍会出现在alt-tab对话框中。将FormBorderStyle更改为ToolWindow选项之一(从“ None”选项开始)解决了此问题,但是引入了另一个问题。当应用首次启动时,最小化窗口的标题栏在开始菜单上方可见: 打开并关闭窗体会导致其正确隐藏。我已经尝试了很多变体,但是基本上这就是现在的工作方式…… WindowState在设计器中设置为“最小化”。在构造函数中...

5
投票
2答案
548 次观看

如何用单个DataSource分隔两个组合框的所选项目?

在表单上,我有两个组合框,它们具有相同的DataSource(它们的元素列表相同)。当用户在一个控件中选择一个项目时,另一个控件的选定项目也会被修改。那不是我想要的。 我希望两个列表都使用相同的DataSource填充(就像我目前所做的那样),但是我希望它们选择的项目彼此独立。 我该怎么做?

1
投票
3答案
532 次观看

将一个窗口放在另一个窗口前面

我正在编写一个UserControl,其作用类似于下拉列表,基本上是一个文本框,其下方弹出一个列表框... 如果该控件位于其父窗体的底部,则我不希望列表框被窗体底部限制,因此从我收集的信息中,我不能仅将此列表框作为父窗体的子窗体。需要创建一个包含列表框的新的无边界表单,并将其显示在正确的位置。 我可以做到这一点,问题在于整理表格的z顺序。我需要这个新表格始终显示在父表格上方。但是我不希望此窗口出现在父窗体上方的任何窗口上方...这是设置窗体的方式。TopMost会给我。 还有其他方法吗?ComboBoxes如何实现这种行为? 谢谢

1
投票
2答案
111 次观看

如何防止组合框选择值

我正在使用带有DropDownStyle =“ DropDownList”的ComboBox。我以编程方式为列表中的项目设置了数据源。像这样的东西: combo.DisplayMember = "Text"; combo.ValueMember = "id"; combo.DataSource = ds.tbl; 已正确填充列表,并选择了第一个元素。如何防止选择第一个元素?

0
投票
2答案
939 次观看

帮助C#记事本项目

我正在WinForms中制作一种多语言(计算机语言)记事本。我有一个菜单栏,上面有一个名为“语言”的工具菜单(类似于文件,编辑,查看等)。当您单击“语言”时,有几个可检查的菜单项。我要这样做:单击一个项目时,它显示为选中状态。当用户再次单击它时,它未选中。如何结合每种语言(例如Java,C,C ++等)的编译器

0
投票
1答案
227 次观看

在Windows窗体关闭过程中的什么时候控件无效?

我最近为一些本科生设置了一些课程,他们必须使用为其提供的小型且相对简单的C#库。该库的主要目的是显示一个简单的表单,该表单由彩色网格(他们可以操作),多个按钮和带有一些文本的标签组成。 他们扩展的类提供了许多必须实现的抽象方法,其中一种称为UpdateAction,并按设置的时间间隔自动调用。 我自己还没有遇到以下问题,但是在实验室中,有些学生在关闭表单时遇到了间歇性的InvalidOperationException,该异常是从UpdateAction方法中抛出的。该错误消息是我通常希望在尝试从其他线程修改UI时看到的错误,但是通常在双引号''中通常会看到有问题的控件的名称。 如果...

0
投票
1答案
295 次观看

如何使用C#在Windows窗体标题上设置反馈链接?

我想在每个Windows窗体上设置“反馈”链接,以便用户可以使用C#(.NET 3.5)发送有关设计,功能等的建议,但找不到解决方案。 任何帮助或建议将不胜感激。

1
投票
2答案
27525 次观看

访问表单以运行查询并显示结果

我在MS Access数据库中有一个查询。我如何创建一个带有按钮的表单,该按钮可以运行查询并以相同的形式显示结果,从而使其看起来更加用户友好。(结果只有两列表的5条记录) 我不需要完整的解决方案。只是关于按钮代码和显示结果空间的一些建议。

6
投票
2答案
1528 次观看

我们如何解决所有这些“从DBNull类型转换为String类型无效”的问题?

在我们的应用程序中,我无法想到许多情况下我们关心空字符串字段。我们只希望它们在大多数情况下显示为空字符串。 因此,当使用内置的ADO.NET数据集/数据表时,错误: 从类型DBNull转换为类型 字符串无效 稍后,在引用任何旧字符串数据时,在应用程序中都太普遍了。 这是一个特殊的问题,因为它可以很容易地将我们赶出去(并且在测试中通常看不到) 我知道有多种解决方案: 1。在所有情况下都检查.IsXXXNull 但是: 这是乏味的 在整个应用程序中编码 如果我们忘记了支票,即使100次中有1次,我们都有 潜伏的潜在错误 2。在数据集设...

1
投票
2答案
254 次观看

关于上下文菜单嵌套最佳实践,是否有任何规则?

我开始开发一个应用程序,当您右键单击网格时,您将获得约14个菜单项。我认为开始嵌套一些菜单会更干净,因为菜单项可以进行“分组”,但这引起了一些争议。 上下文菜单上有一些准则或最佳UI做法吗?

2
投票
3答案
2766 次观看

TopMost = true的WinForms对话框

我在WinForms中实现了一个对话框,该对话框显示为屏幕右下角的通知对话框。问题在于,只要显示,它就会获得焦点,并且仅当TopMost = true时才会发生。我该如何解决?

2
投票
2答案
140 次观看

Linqy没有对手

也许这是我做错了。我只是在学习Linq,因为我很无聊。到目前为止,一切都很好。我做了一个小程序,它基本上只是将所有匹配项(foreach)输出到标签控件中。 用法:在文本框中输入文本,然后单击按钮。程序使您可以选择一个文件来匹配文本框的值,并在标签控件中返回匹配项。 代码: using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text;...

1
投票
2答案
180 次观看

为什么.NET在接收到INotifyPropertyChanged.PropertyChanged事件时会读取不受影响的属性的值?

我是数据绑定的新手,今天遇到了以下我无法理解的怪事: 我有一个带有两个标签(labelA和labelB)和两个按钮(buttonA和buttonB)的表单。 该表单承载具有两个属性(CountA和CountB)的对象(称为“ formState”)。 labelA.Text数据绑定到formState.CountA, labelB.Text数据绑定到formState.CountB。 当按下buttonA时,它将使formState引发以“ CountA”作为属性名称的PropertyChange事件。 按下buttonB时,将以“ CountB”作为属性名称引发formState...

0
投票
4答案
21341 次观看

如何将ComboBox项目插入ListBox?[winforms]

问题很简单, 如何使用C#将ComboBox选定项插入ListBox? 我已经尝试过: listbox.Items.Add(combobox.SelectedItem); 和其他一些排列,但它始终显示System.Data.DataRowView或类似的内容。 编辑:roblem被此2所引起 lbList.DisplayMember = "hm"; lbList.ValueMember = "ID";

2
投票
2答案
7891 次观看

在C#中以自定义形式设置ClientRectangle

在C#中,我具有无边框样式的自定义形式,该样式重写了onPaint事件并使用透明键绘制自定义背景。我想设置自己的客户端矩形值(以便将内容放置在自定义边框内),但是不幸的是Form的ClientRectangle属性是只读的。我在网上找到了建议以覆盖WndProc方法(在其中设置客户端大小),但可惜的是,我发现的信息很少。特别是它需要填充lParam和wParam指向的数据,我真的不知道如何在C#中做到这一点。 有帮助吗?

0
投票
2答案
501 次观看

NET中Datagridview中的自动组合框

dim dt作为新的数据表 dt.columns.Add(“ Check”,Type.GetType(“ System.Boolean”)) datagridview1.datasource = dt 当绑定到datagridview时,布尔类型的datacolumn会将数据表自动显示为DataGridViewCheckBoxColumn。没有代码麻烦 在数据表中包含什么类型的数据列将类似地填充DataGridViewComboBoxColumn。 任何线索

5
投票
3答案
8995 次观看

创建在另一个线程上运行的进度条,同时将计算保留在主线程中

前言:我知道这是一种不寻常/不合适的方法。我可以使用“真实的” ShowDialog(),后台工作程序/线程等来完成此操作。我不是在寻求这样做的帮助;我正试图做我在这里描述的事情,即使它很丑。如果由于X原因无法执行此操作,请让我知道。 我为一些长期运行的操作创建了一个精美的进度对话框。我需要在新线程上显示此对话框,同时在调用线程(大多数情况下是UI)上继续进行处理。 这有3个实际要求: 防止用户与调用表单进行交互(类似于ShowDialog(this)) 将进度对话框保留在主窗口上方(它可能会紧随其后) 允许主线程继续处理 我所看到的是这样的(到目前为止,运行正常,除...

1
投票
3答案
5457 次观看

使用自定义Button类而不是Forms.Button

我创建了从Form.Button派生的HoverButton类。在这里,我重写了OnMouseEnter / OnMouseLeave事件。 using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Windows.Forms; namespace DSLiteWizardLib { class HoverButton : Button { #region Constructor public H...

0
投票
1答案
322 次观看

C#:自定义控件的大小自行调整

我有一个由其他控件构建的自定义控件,该控件正在两个不同的位置加载。一方面,它看起来像在设计器中那样,正如预期的那样;另一方面,它在没有指示的情况下被缩小为较小的尺寸。即使我在代码中显式调整了大小,控件似乎也会变大,但是其中的控件仍然比应该的小。什么会导致这种情况发生?

0
投票
3答案
226 次观看

Visual Basic和上下文菜单

是否可以将标题添加到弹出菜单?我找不到这个物业。

9
投票
2答案
12561 次观看

如何在C#中使用垂直标签实现标签控件?

如何在C#中使用垂直标签实现标签控件?

0
投票
2答案
891 次观看

工具提示不显示,单击控件时闪烁

我有一个禁用的复选框,当悬停时该复选框应显示工具提示,但是什么也没有发生。单击工具提示上的复选框后,将立即显示,然后快速闪烁。是什么原因造成的? 工具提示也应该为每个涉及的控件显示,但是即使为所有控件明确设置了工具提示,也要为某些控件显示提示。是什么原因导致这种行为的? 这是事件处理程序: this.MouseHover += new EventHandler(OrderSummaryDetails_MouseHover); void EventHandler_MouseHover(object sender, EventArgs e) { if (someCondi...

0
投票
2答案
2996 次观看

使用SSRS ReportViewer控件将数据表动态呈现到Winform中

背景 我正在编写一个方法,该方法最终将把System.Data.DataTable作为输入,并使用Microsoft的ReportViewer控件将它作为(简单,表格形式的)SSRS报告呈现到Winform中( http://www.gotreportviewer.com/ ) 为此,我需要(1)根据DataTable动态创建RDL文件(2)将RDL加载到ReportViewerControl(3)将ReportViewerControl绑定到该DataTable 问题 理想情况下,我只是喜欢链接到完成上述所有操作的示例-我已经搜索了但无法找到一个。 否则,我需要一些有关上...

1
投票
2答案
10475 次观看

如何在visual basic.net中创建弹出菜单?

如何在vb 2008中创建一个弹出菜单,用作右键单击时的上下文相关菜单?

2
投票
2答案
627 次观看

使用隐藏的标题栏最小化/还原使Windows窗体窗口增大

在使用SetWindowLongPtr的PInvoke从可调整大小的窗口中删除标题(WS_CAPTION)之后,我在Windows窗体中遇到了此问题。之后,只要窗口最小化或最大化然后恢复到“正常”,窗口就会增长(通过CaptionHeight +边框)。 看来Windows窗体的布局机制正在尝试补偿它认为仍然存在的标题栏。 (如果我以无None的FormBorderStyle开头,然后添加我想要的内容,即较大的边框,则会遇到相反的问题,窗口会缩小)。 我发现另一个人打了在Codeplex上出现此问题, 但没有发布解决方案。 尝试在自定义处理程序中为其中一个调整大小的事件调整大小都为...

5
投票
7答案
5857 次观看

在C#中绑定到DataGridView时要使用的一个很好的集合

在C#中将数据列表绑定到DataGridview时,最好使用什么集合?我目前仅使用通用列表,但是当从列表中添加或删除对象时,数据网格不会更新。我已经看过使用BindingList或ObservableCollection,但是无法确定哪种更新最好,并且无需重新绑定到数据网格即可轻松进行排序/过滤。我目前正在.Net 3.5框架的Windows窗体中工作,并计划很快移至WPF。

0
投票
1答案
1754 次观看

像在WPF中一样在Winforms中使用Aero主题

在Windows XP中运行时,我知道如何在wpf应用程序中使用Aero主题。链接 在Winforms应用程序中有什么方法可以做同样的事情吗? 谢谢。

1
投票
1答案
854 次观看

使用Form.Show打开一个窗体:第一次单击将被忽略。Winforms,.Net

使用以下代码: Private Sub ShowDropDown() Using f As New DropDownForm f.Visible = True Do While f.Visible Application.DoEvents() // Call to not take up 100% resources Loop End Using End Sub 如果ShowDropDown方法是通过单击按钮以外的任何方式调用的,则DropDownForm中的第一次鼠...

1
投票
3答案
3230 次观看

从文件系统中在Webbrowser控件中加载jQuery

这是我的情况: 我正在WinForms应用程序中使用WebBrowser控件来显示数据。HTML是通过DocumentText属性提供的,我想使用jQuery与内容进行交互。从网络上加载jQuery(Google API)的工作原理: DocumentText中的实际html,标题栏: <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js"></script> <script type="text/jav...