找出与最后焦点的控制

我有一个C#Windows窗体应用程序有几个文本框和一个按钮。 我想找出具有焦点的文本框,并用它做什么。 我已经写了下面的代码,但当然这是行不通的,因为该按钮会得到尽快按下关注。

private void button1_MouseDown(object sender, MouseEventArgs e) { foreach (Control t in this.Controls) { if (t is TextBox) { if (t.Focused) { MessageBox.Show(t.Name); } } } }

--------------解决方案-------------

有没有用于跟踪以前为重点控制的内置特性和功能。正如你所提到的,只要单击该按钮,它会关注的焦点。 如果你想保持跟踪的重点是在这之前的文本框,你将不得不自己做。

要去了解这将是一个类级变量添加到您的形式持有提及目前的工作重点TextBox控件的方法之一:

private Control _focusedControl;

然后在GotFocus事件为每个文本框控件,你只需更新_focusedControl与该文本框变量:

private void TextBox_GotFocus(object sender, EventArgs e)
{
_focusedControl = (Control)sender;
}

现在,只要单击某个按钮(你为什么要使用MouseDown事件如你的问题,而不是按钮的Click事件?),你可以使用引用保存在类级别的变量先前为重点的文本框控件但是你喜欢:

private void button1_Click(object sender, EventArgs e)
{
if (_focusedControl != null)
{
//Change the color of the previously-focused textbox
_focusedControl.BackColor = Color.Red;
}
}

也许你可以订阅你的文本框的GotFocus事件,存储文本框(你会与发件人参数获得)在一个领域,并使用该字段,当您按下按钮?

我会使用button1_MouseHover事件。 当这个事件被触发ActiveControl是直到指着前面的控制,它可以存储为_focusedControl

当然,这不会如果用户标签到按钮工作。

分类:C# 时间:2012-01-01 人气:0
本文关键词: .NET,C#,的WinForms
分享到:

相关文章

  • 如何包装无的WinForms的DataGridViewTextBoxCell(C#),空格或换行符长文本? 2012-01-01

    如何包装无空格或换行符长文本DataGridViewTextBoxCell的WinForms的(C#)? private void dataGridView1_CellPainting(object sender, DataGridViewCellPaintingEventArgs e) { if ((e.ColumnIndex == 1) && (e.FormattedValue != null)) { SizeF sizeGraph = e.Graphics.MeasureString

  • 滚动的WinForms DataGridView中的WPF WindowsFormsHost 2012-01-01

    我的ScrollViewer,其中包含了WindowsFormsHost的框架. 该WindowsFormsHost包含一个DataGridView(请不要问我为什么不与WPF DataGrid控件这样做). 因为在DataGridView导致显示错误,同时与ScrollViewer中滚动我禁用的ScrollViewer并启用滚动在我的DataGridView. <Grid x:Name="LayoutRoot"> <WindowsFormsHost Horizont

  • 如何共享.NET 4 MVC应用程序和WinForms应用程序的组件? 2012-01-02

    这个问题的出现是因为WinForms应用程序是一个.NET4客户端配置文件,而我使用的是ASP.NET MVC应用程序中的服务组件是完全.NET4轮廓. 我如何可以共享这两个项目之间的装配? --------------解决方案------------- 您可以使用客户端配置文件有针对性的组装与的完整资料,但不是相反. 所以,你可以建立一个组装针对客户端配置文件和瞄准的完整资料的ASP.NET MVC应用程序中使用它. 但你不能建立一个面向装配的完整资料,并在除非你关掉这个WinForms应用程

  • 会员在C#\的WinForms 2012-01-04

    请告诉我,无论是在WinForms的"会员"级\ WPF? 如果是的话,如何使用它? 我想打一个登录界面的程序,所以,当你点击登录检查服务器上的数据,然后在用户或不会放过. 谢谢! --------------解决方案------------- 请告诉我,无论是在WinForms的"会员"级\ WPF? 不,它不是那么简单,你知道的. 我想打一个登录界面的程序,所以,当你点击登录检查服务器上的数据,然后在用户或不会放过. 它是callled节目. 你坐下来写代码.

  • 在线程的WinForms,生成任务完成HTML报告 2012-01-04

    我有一个WinForms应用程序,它调度使用服务的一些工作. 该服务有一个回调,与工作程序更新数据库. 现在,让我们说我安排X零点项目. 在x工作项目全部建成后,我要生成关于工作统计的HTML报告. 我想,我可以检查所有项目的工作完成的唯一方法就是看在数据库中其完成状态. 谁能告诉我如何以及何时我可以生成HTML报告? 我想我可以用一个线程来轮询分贝,看看是否所有的工作完成,并告知用户界面生成报告,但不知道如何实现这一点. --------------解决方案------------- 您可以使

  • 打印服务器端,从净(无的WinForms) 2012-01-04

    嘿印刷迷们需要一些指点给我在正确的方向进行这方面的发展. 我开发一个当地的商店,我们在后面将要绑定到一个电子商务网站的EPOS系统. 在EPOS系统的前端将是的WinForms,所以我们可以很容易地处理USB设备,我们将要使用的WebForms / MVC的管理控制台. 一个方面我们经验不足的打印. 我们需要打印条码,并希望通过管理控制台(基于网络)来做到这一点. 所以,(最终)的问题. 我们从哪里开始找代码,使我们能够直接打印到从web表单.NET的服务器(IIS)实例连接的打印机. ----

  • 的HTMLDocument在WinForms应用程序,如何判断文本溢出? 2012-01-06

    我有一个WinForms应用程序(Web浏览器对象)加载的对象的HTMLDocument. 我在HTML文档中引用特定HTML表格. 有没有什么办法,我知道,如果从该表中的文本溢出? (高度或宽度). 更新 如果我知道我的HTML表格具有200像素的身高,有可能算的文本和字体大小的行要拿出所需高度内容NEADS的像素数的高度? --------------解决方案------------- 如果指定的宽度和在HTML表格单元格高度(例如200像素),那么你可以使用jQuery来告诉你,如果单元格

  • 创建JPEG文件服务器端与WinForms应用程序和C# 2012-01-06

    我有一些加载图像和文字,并保存编译为JPEG WinForms应用程序. 这一切工作在我的电脑,但我需要这我的Web服务器上运行. 当我同时到远程桌面登录服务器上运行它,它的伟大工程,如果我跑它,而没有连接,它创建了纯黑色的图像. 在我的WinForms应用程序,我加载我的内容到面板,然后使用该面板的drawtoImage功能导出图像. 我如何能得到这个工作服务器端的任何想法? --------------解决方案------------- 好吧,我怎么知道这是一个桌面应用程序. 如果是这样比你

  • 为什么我的WinForms托管WCF服务单线程? 2012-01-06

    我有我使用,以取代旧的ASP.NET Web服务的WCF服务. 该服务似乎工作正常,但它无法处理因某种原因同时请求. 我的实现服务的具有以下属性: [ServiceBehavior(InstanceContextMode = InstanceContextMode.PerCall, ConcurrencyMode = ConcurrencyMode.Multiple)] public class HHService : IHHService 我的主人的声明如下: baseAddress = ne

  • 指纹识别C#的WinForms关于Windows 7的平板电脑 2012-01-07

    我已经开发了databaase库存跟踪系统为Windows 7平板电脑(EG优派ViewPad 10)一个单独的接口. 我已经实现指纹读在桌面上,但是,我想问一下,如果它是可以使用平板电脑的触摸屏接口读取指纹注销该用户? 或将我要实现单独fingeprint读者的平板电脑? 如果可能的话,我怎么去这样做呢? 我在C#中的WinForms开发64位. 任何.NET版本,我无所谓. --------------解决方案------------- 如果我正确理解你的问题,触摸屏比指纹读取器的不同. 触

Copyright (C) 55228885.com, All Rights Reserved.

55228885 版权所有 京ICP备15002868号

processed in 0.073 (s). 10 q(s)