listBox点击(click)后回到的上一个物件的焦点(focus),并隐藏listbox
方法一:
Control _lastEnteredControl;
public Form1()
{
InitializeComponent();
foreach (Control ctrl in Controls)
//foreach (Control ctrl in panel1.Controls)//如果是在panel1下的textBox,则使用此句
{
if (ctrl is TextBox)
{
ctrl.Enter += delegate(object sender, EventArgs e)
{
_lastEnteredControl = (Control) sender;//获得焦点
listBox1.Visible = false;//隐藏
};
ctrl.Click += delegate(object sender, EventArgs e)
{
_lastEnteredControl = (Control) sender;//获得焦点
listBox1.Visible = false;//隐藏
};
}
}
}
private void listBox1_Click(object sender, EventArgs e)//写其它代码,见下面内容
{
_lastEnteredControl.Focus();
}
方法二:
Control _lastEnteredControl;
private void textBox1_Enter(object sender, EventArgs e) //注意是Enter
{
_lastEnteredControl = (Control)sender;//获得焦点
listBox1.Visible = false;//隐藏
}
private void textBox2_Click(object sender, EventArgs e)
{
_lastEnteredControl.Focus();//获得焦点
listBox1.Visible = false;//隐藏
}
private void listBox1_Click(object sender, EventArgs e)//写其它代码,见下面内容
{
_lastEnteredControl.Focus();//获得焦点
}
也可以接下来进行相关的判断,写其它代码
private void listBox1_Click(object sender, EventArgs e)
{
_lastEnteredControl.Focus();
if (_lastEnteredControl == textBox1)
{
MclickList twoclicklist = new TwoMclk(listBox1, textBox2, label4);
listBox1.Visible = false;
}
if (_lastEnteredControl == textBox2)
{
MclickList threeclicklist = new ThreeMclk(listBox1, textBox6, label13, label15);
listBox1.Visible = false;
}
}
方法一:
Control _lastEnteredControl;
public Form1()
{
InitializeComponent();
foreach (Control ctrl in Controls)
//foreach (Control ctrl in panel1.Controls)//如果是在panel1下的textBox,则使用此句
{
if (ctrl is TextBox)
{
ctrl.Enter += delegate(object sender, EventArgs e)
{
_lastEnteredControl = (Control) sender;//获得焦点
listBox1.Visible = false;//隐藏
};
ctrl.Click += delegate(object sender, EventArgs e)
{
_lastEnteredControl = (Control) sender;//获得焦点
listBox1.Visible = false;//隐藏
};
}
}
}
private void listBox1_Click(object sender, EventArgs e)//写其它代码,见下面内容
{
_lastEnteredControl.Focus();
}
方法二:
Control _lastEnteredControl;
private void textBox1_Enter(object sender, EventArgs e) //注意是Enter
{
_lastEnteredControl = (Control)sender;//获得焦点
listBox1.Visible = false;//隐藏
}
private void textBox2_Click(object sender, EventArgs e)
{
_lastEnteredControl.Focus();//获得焦点
listBox1.Visible = false;//隐藏
}
private void listBox1_Click(object sender, EventArgs e)//写其它代码,见下面内容
{
_lastEnteredControl.Focus();//获得焦点
}
也可以接下来进行相关的判断,写其它代码
private void listBox1_Click(object sender, EventArgs e)
{
_lastEnteredControl.Focus();
if (_lastEnteredControl == textBox1)
{
MclickList twoclicklist = new TwoMclk(listBox1, textBox2, label4);
listBox1.Visible = false;
}
if (_lastEnteredControl == textBox2)
{
MclickList threeclicklist = new ThreeMclk(listBox1, textBox6, label13, label15);
listBox1.Visible = false;
}
}

本文介绍了一种在点击ListBox后返回上一个拥有焦点的对象并隐藏ListBox的方法。提供了两种实现方式,一种是通过委托监听TextBox的Enter和Click事件,另一种是直接在TextBox的Enter和Click事件中处理。
2535

被折叠的 条评论
为什么被折叠?



