Tag: winforms

数据绑定Windows窗体控件在失去焦点之前无法识别更改

我使用数据绑定在C#Windows窗体客户端的文本框中显示值。 当用户单击“保存”时,我会将更改保留到数据库中。 但是,将忽略活动编辑器中的新值(保存以前的值)。 如果我跳出活动编辑器,然后保存,则新值将保持不变,如预期的那样。 有没有办法在持久化之前强制主动控件接受其值?

控件中的多个MouseHover事件

我正在尝试在C#中实现自定义控件,我需要在鼠标hover时获取事件。 我知道有MouseHover事件但它只触发一次。 为了让它再次发射,我需要使用控件的鼠标并再次输入它。 有什么方法可以做到这一点吗?

使用C#更新Windows窗体中的文本框时,如何编写“闪存”效果?

我所拥有的是一个Windows窗体,在C#中,有7个文本框。 当其值被更改和接受时,每个文本框都会更新2或3个其他文本框。 我想要做的是以某种方式采取那些需要更新的文本框,并使用浅色或其他东西使它们“闪烁”。 目的是向用户显示正在更新的内容,增加了一点天赋。 我不确定是否有一种简单的方法可以做到这一点,这就是我在这里问的原因。 我可以使用计时器,while循环和背面颜色,文本框上的alpha通道减少控制背面颜色,我想,但我想看看是否有更好的方法。 jQuery UI有一个“突出显示”效果,显示我想要完成的任务(虽然我希望我的速度有点慢)。 只需转到jQuery UI Effects演示页面 ,从窗口的下拉框中选择“突出显示”,然后单击“运行效果”。 编辑 我不得不根据时间和资源限制使用我自己的解决方案,但文本框不支持Hans Passant提到的透明颜色。 所以,我使用了一个自动停止计时器来增加R,G和B值,直到控制器完全变白(R = 255,G = 255,B = 255); 编辑2 在我们更新到.NET 4.0之后,使用George Johnston解决方案的变体,将Flash事件重新编码为扩展方法。 我觉得这是一个更清洁的解决方案,扩展方法使任何using它的人都可以自动using它。

WindowsForm PictureBox.Image为null,即使表单中显示了图像

我正在尝试捕获此设备扫描的指纹 – > http://www.nitgen.com/eng/product/finkey.html 我能够扫描指纹并成功保存二进制数据。 我也可以在图片框中显示指纹。 但是,当我试图保存图片框中显示的指纹时,我收到一个错误,即图片框的图像为空。 下面是我的捕获指纹和从图片框保存图像的代码。 public class Form1 : System.Windows.Forms.Form { public NBioBSPCOMLib.NBioBSP objNBioBSP; public NBioBSPCOMLib.IExtraction objExtraction; private PictureBox pictureExtWnd; private void Form1_Load(object sender, System.EventArgs e) { // Create NBioBSP object objNBioBSP = new NBioBSPCOMLib.NBioBSPClass(); objExtraction = (NBioBSPCOMLib.IExtraction)objNBioBSP.Extraction; pictureExtWnd.Image = new Bitmap(pictureExtWnd.Width, pictureExtWnd.Height); } private void buttonEnroll_Click(object sender, System.EventArgs e) { //tell […]

如何转换屏幕坐标以形成相对坐标(winforms)?

我有以下function(这是不正确的): private void TreeView_DragDrop(object sender, DragEventArgs e) { TreeNode CurrentNode = TreeView.GetNodeAt(eX – this.Left – NotesView.Left, eY – this.Top – NotesView.Top); // [snip]… } 但这是不正确的,因为它没有考虑到表单装饰…我确信除了硬编码之外还有更好的方法来做到这一点(无论如何,这将是错误的,取决于几个这样的事情,如作为Vista vs XP vs Win2k),但我找不到它。

从WPF中托管的WinForms控件创建表单 – 未设置所有者

脚本 我有以下场景(我已将其剥离为示例应用程序): 带有窗口( MainWindow )的WPF应用程序,托管WinForms UserControl( UserControl1 )。 该控件在后面的代码中动态添加到WindowsFormsHost UserControl1有一个打开表单的按钮( Form1 ) 它使用form1.Show(this) 。 问题是: Form1的.Owner属性为null。 在实际应用程序中,有些工作涉及.Owner属性,这意味着我不能忽略这个问题。 当然,理想情况下,这里没有任何依赖性。 在实际应用程序中,我无法控制此代码的WinForms端。 我们的WPF应用程序正在托管另一个团队的WinForms控件。 笔记: 当我使用WinForms主机时, .Owner属性设置正确。 UserControl1以其他所有方式托管 – 在实际应用程序中,其他一切工作正常,只是由用户控件打开的表单没有合适的所有者。 我能理解为什么这里有问题,但我希望我的下一个问题的答案可能是’是’! 有什么方法可以通过在等式的WPF方面进行更改来实现这一点吗? 如果做不到,可以在WinForms方面做任何事情吗? (这可能超出了我可以在那里实现一些变化的可能性……) 示例代码 这是我的示例应用程序中的代码。 首先是WPF方面: public partial class MainWindow : Window { private WindowsFormsHost host; public MainWindow() { InitializeComponent(); } private void btnAdd_Click(object sender, RoutedEventArgs e) { […]

接受表单元素作为方法参数?

我正在编写一个方法,它将获取传递的表单元素的屏幕截图,然后将其打印出来。 我面临一些挑战。 我希望能够使这个方法足够通用,几乎可以接受任何类型的表单元素。 我将“element”参数设置为“object”。 我想我还需要传递一个“类型”参数,或者有没有办法弄清楚对象在传递后的类型? static public void PrintFormElement(object element, ?type?){ } 我是以正确的方式解决这个问题吗? 任何建议将不胜感激!

.NET应用程序是否有最大数量的程序集?

相当多的应用程序支持插件。 拥有大量插件有什么缺点吗? 是否存在一个可能性能下降的最佳点? 您在应用中看到的最大assembly数量是多少?

在C#中使用窗体上的控件时何时使用THIS关键字

我仍然远离掌握C#,但我的孩子正在推动我每天继续改进我的编程。 当我创建一个WinForms应用程序时,我想要实际更改并使用大量控件。 我不明白的是当我需要使用this.control关键字时,我应该只使用control 。 样品: 如果我想更改我的标签文本,我可以写 mylabel.text = “Text for label” 要么 this.mylabel.tex = “Text for label” 以下哪一种是正确的方法? 在WinForms中使用控件时(例如数据网格,文本,表格等),何时使用this关键字有一个简单的解释?

DataGridView图像按钮列

我想在datagridviews列中添加图像按钮。 我使用datagridviewbuttonColumn添加了datagridview,但是我没有将图像设置为this。 我想在datagridviews列中添加带按钮的图像,当单击此按钮时,datagridview行编辑或删除。 请问我该怎么做!