RT,最近遇到一个问题:在一个WinForm中,有5个TrackBar控件,还有1个按钮。我需要点击那个按钮来判断用户到底操作的是哪个TrackBar。所以想到了利用焦点来处理。
可是在测试的时候,拖动其中某一个TrackBar后点击按钮,那么当前的焦点就到了按钮上,并不是在被操作的TrackBar上。
我试过this.ActiveControl和TrackBar.Focused这两种办法,但是不能解决我的问题。所以我问:
1.能不能得到前一个得到焦点的控件?
2.对于问题的解决,各位大拿们有什么办法么?谢谢!
可是在测试的时候,拖动其中某一个TrackBar后点击按钮,那么当前的焦点就到了按钮上,并不是在被操作的TrackBar上。
我试过this.ActiveControl和TrackBar.Focused这两种办法,但是不能解决我的问题。所以我问:
1.能不能得到前一个得到焦点的控件?
2.对于问题的解决,各位大拿们有什么办法么?谢谢!
解决方案 »
- 跪求已经生成好的CKFinder.dll 上传文件重命名的 限制上传大小、格式的
- C#如何写一个按 pic["fieldname"] 这种格式获取值的类?
- 大家来九九乘法表
- HttpWebResponse的问题请求帮助
- config文件的问题,帮我看一下。
- c# udp的问题
- fill 到dataset中的同一个datatable出错?
- 很菜的问题!!!
- 关于读取json,winform显示,求实例
- c# mdi 通过webbrowser 加载网页子窗口,页面存在webusercontrol封装按钮,调用hide,show网页控件不能用
- C# 如何调用这种DLL啊,uint8_t和DCB对应什么变量?
- 如何用C#读取pdf文件的内容?
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;namespace WindowsApplication1
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
} TrackBar tb;
private void Form1_Load(object sender, EventArgs e)
{
tb = null;
this.trackBar1.LostFocus+=new EventHandler(trackBar_LostFocus);
this.trackBar2.LostFocus += new EventHandler(trackBar_LostFocus);
this.trackBar3.LostFocus += new EventHandler(trackBar_LostFocus);
this.trackBar4.LostFocus += new EventHandler(trackBar_LostFocus);
this.trackBar5.LostFocus += new EventHandler(trackBar_LostFocus); } void trackBar_LostFocus(object sender, EventArgs e)
{
tb = (TrackBar)sender;
}
private void button1_Click(object sender, EventArgs e)
{
if (tb != null)
{
MessageBox.Show(tb.Name);
}
}
}
}将所有TrackBar控件的LostFocus 事件都绑定到同一个方法上.
tb里存的就是上一个失去焦点的TraceBar