this.flowLayoutPanel1.Controls.Add(this.button1);
this.flowLayoutPanel1.Controls.Add(this.textBox1);
this.flowLayoutPanel1.Controls.Add(this.button2);
this.flowLayoutPanel1.Controls.Add(this.textBox2);如flowLayoutPanel1容器里有这4个控件,当我拖动Button1的时候可以获取下一个控件textBox1
请问如何实现,我用GetNextControl有时行有时出错。不知为什么。
this.flowLayoutPanel1.Controls.Add(this.textBox1);
this.flowLayoutPanel1.Controls.Add(this.button2);
this.flowLayoutPanel1.Controls.Add(this.textBox2);如flowLayoutPanel1容器里有这4个控件,当我拖动Button1的时候可以获取下一个控件textBox1
请问如何实现,我用GetNextControl有时行有时出错。不知为什么。
foreach(Contrl ctl in Panel.Controls)
{
//这里可以获取下一个控件,具体代码我忘了,你用ctl.出来就会有。
}
private void button_MouseDown(object sender, MouseEventArgs e)
{
pt = this.PointToClient(MousePosition);
startflp=(FlowLayoutPanel)(((Button)sender).Parent);
try
{
txb = (TextBox)GetNextControl((Button)sender, true);
}
catch (Exception ee) { MessageBox.Show(ee.Message); }
move(startflp, sender);
}
用循环怎么弄?还有我这个方法有错吗?谢谢指教
或者你懒一点,就用button.tag值去保持这个东西,然后,从你的sender参数中把这个textbox给获取出来!就ok了
protected override bool ProcessDialogKey(System.Windows.Forms.Keys aKey)
{
if(aKey ==Keys.Enter && this.ActiveControl is TextBox)
{
SendKeys.Send("{TAB}");
return true;
}
base.ProcessDialogKey(aKey);
return false;
}
太感谢了coollangzi和wuyq11