最佳解答者
失去焦点问题

問題
解答
-
private void Form1_MouseDown(object sender, MouseEventArgs e) { if (e.X < this.comboBox1.Left || e.X > this.comboBox1.Left + this.comboBox1.Width || e.Y< this.comboBox1.Top || e.Y > this.comboBox1.Top + this.comboBox1.Height ) { this.comboBox1.DropDownStyle = ComboBoxStyle.Simple; } }
因為ComboBox沒失去焦點,比如說選到Form或Label等控制項,您可以用Timer等方式,檢查滑鼠是否點到以外的地方,參考以上...- 已標示為解答 jickpj 2009年12月24日 上午 09:01
-
我測試的結果是會改變. 你一定有哪裡搞錯.
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void comboBox1_Leave(object sender, EventArgs e)
{
comboBox1.DropDownStyle = ComboBoxStyle.Simple;
}
private void Form1_Load(object sender, EventArgs e)
{
comboBox1.DropDownStyle = ComboBoxStyle.DropDown;
}
private void button1_Click(object sender, EventArgs e)
{
comboBox1.DropDownStyle = ComboBoxStyle.DropDownList;
}
}
學而不思則罔, 思而不學則殆.
如果你一直都看不懂、不想學習看懂、抗拒看懂MSDN Library的話,那你最好放棄想要寫好程式這件事
如果你自私地不肯回饋與分享,那別人為何要花時間回答你的問題?- 已標示為解答 jickpj 2009年12月24日 上午 09:01
-
1. 上述的碼只是為了測試事實上重點是
private void comboBox1_Leave(object sender, EventArgs e)
{
comboBox1.DropDownStyle = ComboBoxStyle.Simple;
}
所以沒有什麼一百個控制項要寫1百次的問題
2. Form 本身是無法接收焦點的. 還有什麼叫做其它控件
3. 你的發問沒頭沒尾的, 誰知道你指的其它控件是什麼東西 ?
4. 這裡是講求禮貌的論壇, 請注意你發問的語氣!
學而不思則罔, 思而不學則殆.
如果你一直都看不懂、不想學習看懂、抗拒看懂MSDN Library的話,那你最好放棄想要寫好程式這件事
如果你自私地不肯回饋與分享,那別人為何要花時間回答你的問題?- 已標示為解答 jickpj 2009年12月24日 上午 09:02
所有回覆
-
private void Form1_MouseDown(object sender, MouseEventArgs e) { if (e.X < this.comboBox1.Left || e.X > this.comboBox1.Left + this.comboBox1.Width || e.Y< this.comboBox1.Top || e.Y > this.comboBox1.Top + this.comboBox1.Height ) { this.comboBox1.DropDownStyle = ComboBoxStyle.Simple; } }
因為ComboBox沒失去焦點,比如說選到Form或Label等控制項,您可以用Timer等方式,檢查滑鼠是否點到以外的地方,參考以上...- 已標示為解答 jickpj 2009年12月24日 上午 09:01
-
我測試的結果是會改變. 你一定有哪裡搞錯.
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void comboBox1_Leave(object sender, EventArgs e)
{
comboBox1.DropDownStyle = ComboBoxStyle.Simple;
}
private void Form1_Load(object sender, EventArgs e)
{
comboBox1.DropDownStyle = ComboBoxStyle.DropDown;
}
private void button1_Click(object sender, EventArgs e)
{
comboBox1.DropDownStyle = ComboBoxStyle.DropDownList;
}
}
學而不思則罔, 思而不學則殆.
如果你一直都看不懂、不想學習看懂、抗拒看懂MSDN Library的話,那你最好放棄想要寫好程式這件事
如果你自私地不肯回饋與分享,那別人為何要花時間回答你的問題?- 已標示為解答 jickpj 2009年12月24日 上午 09:01
-
1. 上述的碼只是為了測試事實上重點是
private void comboBox1_Leave(object sender, EventArgs e)
{
comboBox1.DropDownStyle = ComboBoxStyle.Simple;
}
所以沒有什麼一百個控制項要寫1百次的問題
2. Form 本身是無法接收焦點的. 還有什麼叫做其它控件
3. 你的發問沒頭沒尾的, 誰知道你指的其它控件是什麼東西 ?
4. 這裡是講求禮貌的論壇, 請注意你發問的語氣!
學而不思則罔, 思而不學則殆.
如果你一直都看不懂、不想學習看懂、抗拒看懂MSDN Library的話,那你最好放棄想要寫好程式這件事
如果你自私地不肯回饋與分享,那別人為何要花時間回答你的問題?- 已標示為解答 jickpj 2009年12月24日 上午 09:02