问题标签 [form-control]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
258 浏览

vb.net - UI 线程安全

关于在更改表单控件的属性时确保线程安全的最佳方式的任何建议?我一直在使用我。过去调用,我想知道您是否有优点/缺点、评论、建议等。

0 投票
1 回答
87 浏览

.net - 除了 .NET 中的 Form 之外,还有其他方法可以创建顶级窗口吗?

有没有办法在不使用Form的情况下创建一个可以在桌面上显示的控件?例如,显示一个启动窗口?我知道使用 Form 很容易创建没有任何边框等的启动窗口。但这只是一个例子。我想知道是否可以创建一个顶级窗口而没有 Form 附带的所有包袱。

0 投票
1 回答
13183 浏览

c# - 调整 c# windows 窗体大小时防止窗口重绘

为了阻止窗口重绘调整大小的每个像素,我可以听什么窗口消息或事件?

也就是说,当用户单击窗口边缘并开始重新调整大小时,我不想重新绘制整个内容,直到他放手为止。这是因为由于某种原因,它目前在调整大小时很不稳定,可能是因为一切都在重新对接,而不是什么。

我尝试了 WM_SIZING 但这只告诉我它正在调整大小,我希望知道调整大小的开始和结束,以便我可以暂停布局,直到用户停止调整大小。

0 投票
3 回答
27494 浏览

c# - 如何在 C# 中停靠 Windows 窗体?

我只是想知道是否可以将 Windows 窗体停靠在用户屏幕的顶部?我一直在尝试通过手动将表单的位置设置为我想要的坐标来做到这一点。但是,使用这种方法,用户可以通过拖动来改变表单的位置。我想让窗体停靠在屏幕的上部,因为这个窗口窗体将作为我正在制作的项目的菜单。

非常感谢。:)

0 投票
2 回答
1249 浏览

c# - Windows 窗体中的窗体移动事件

我的问题如下:我在应用程序中有一个状态机,只要用户沿着屏幕移动表单,我就需要能够暂停当前状态的 ProcessInput 功能。

我在执行此操作的状态上有一个名为“Paused”的属性,并且我覆盖了表单的 OnMove 事件,以便在事件触发时将该属性设置为 true。

当用户不再移动表单时,如何恢复状态的 ProcessInput 功能?(更具体地说,我正在寻找一个将“state.Paused = false”放入其中的事件)

提前感谢您的帮助!

0 投票
1 回答
304 浏览

.net - 展开表格时出现黑边?

创建一个 .net 2.0 Windows 窗体应用程序,在其窗体构造函数中添加一个 splitContainer 停靠填充:

按 F5。抓住表格的右下边缘并快速拖动以展开表格。由于在所有控件中都在完成工作,该表单会相当急速地扩展。

我有一个带有表单的应用程序,其中包含一些缓慢的控件,这些控件同样变得很慢。不同之处在于,在我的应用程序中,当我用鼠标拖出表单时,我会在间隙中出现几分之一秒的丑陋黑色空间。窗口未正确重新绘制。这个丑陋的黑色空间没有出现在上面的示例代码中。

任何想法在扩展慢速形式时可能会导致出现黑色空间?

我试过双缓冲,但这没什么区别。

编辑:我已将表格分解为基础,以便可以复制。启动一个名为 WindowsFormsApplication_SampleFault 的新 C# Windows 窗体应用程序。将下面的代码粘贴到 Form1.cs

然后将其粘贴到 Form1.Designer.cs

按 F5 并尝试拖出表单。注意我故意超载重绘机制来产生黑色区域。

我相信表单设计器代码有问题,但我不确定是什么。

0 投票
2 回答
3546 浏览

c# - 激活表单和处理按钮同时单击?

我在 C# 中使用 Windows 窗体。

我有一个带有几个工具栏的主窗体,其中包含 toolStripButtons。在使用另一个包含数据的表单后,主表单失去焦点并且单击 toolStripButton 不会触发 OnClick 事件:第一次单击激活主表单,只有第二次单击实际按下按钮。我需要用户只单击一次按钮来触发 Click 事件,关于如何做到这一点的任何想法?谢谢。

笔记:

  • 我使用的是 MDI,点击父表单按钮没有问题。但现在最重要的是让表格在多个显示器上自由浮动。
  • 工作人员表单将主表单作为 Owner 属性,这样它们就位于主表单之上。
  • 当我单击非活动表单的按钮时,MouseHover、MouseEnter、MouseDown 和 MouseUp 都不会触发。它只是触发主窗体的激活事件。
  • 主窗体上有一个树视图(在 tabControl 内、在 splitContainer 内、在面板内)。即使主窗体处于非活动状态,它的项目也会在第一次鼠标单击时被选中。我想不是所有的控制都是平等的!
0 投票
3 回答
4650 浏览

c# - 在不打开新实例的情况下将数据返回到表单

我正在尝试将一些数据从 Form2 返回到 Form1,一切似乎都很好,我得到了数据等等,但是,当我尝试将数据传递到文本框时,它不会更改文本。只有当我打开 Form1 的新实例时,它才会在 Form2 上工作。为什么会这样?我不能将文本发送到旧实例吗?

我正在使用此代码;

表格 1(主表格)

Form2(带有用户数据的第二个表格)

所以,我的问题是,如何将数据值传递给主窗体的旧实例?无需创建新实例并显示新实例。有没有办法做到这一点?

0 投票
2 回答
1552 浏览

c# - 如何从类库/文件中关闭调用窗口窗体?需要访问调用表单并执行 .close()

我的 winforms 项目中有 3 个表单,它们都有一个按钮,可以触发打开 Form2 的相同代码。我需要通过将此代码放在同一个项目内的类文件中或将其放入单独的类库中来集中代码。现在代码在下面的相同形式中:

当我将此代码从 Form1、Form2、Form3 移动到通用表单时,我无法访问调用表单来替换行this.close(); 是否有类似 Method.CallingForm.Close() 的属性或 c# 中的其他内容?请帮忙

我不想将表单作为参数传递。表格太重,无法通过。还有其他选择吗?

0 投票
3 回答
6902 浏览

c# - 你如何判断一个 Windows 窗体是否打开但在另一个窗口后面?

无论窗体是最大化、最小化还是 FormWindowState 为 Normal,调用 Form.Visible 都将返回 true。

我想知道的是如何判断表单是否打开但“隐藏”在另一个应用程序的窗口后面。

如果是这样的话,我想把它放在前面,让用户真正看到它。

我尝试了 BringToFront() 方法,但没有奏效。我也尝试调用 Show() 方法,但如果表单位于另一个应用程序的窗口后面,它仍然是这样。

我发现该问题的唯一解决方法是将表单的 FormWindowState 设置为最小化/最大化然后正常,但这有点小技巧,看起来不太好。

有人能告诉我如何判断表格是否在另一个窗口后面以及如何将其带到前面吗?