如果我在窗體上有兩個文本框,我該如何使它們的文本屬性完全同步?類似於如果他們都處理相同的KeyDown事件會發生什麼。如何同步兩個TextBox控件的文本屬性?
2
A
回答
2
我會做這種方式:
textBox1.TextChanged += (s, _) =>
{
if (!textBox2.Focused && textBox1.Text != textBox2.Text)
{
textBox2.Text = textBox1.Text;
}
};
textBox2.TextChanged += (s, _) =>
{
if (!textBox1.Focused && textBox2.Text != textBox1.Text)
{
textBox1.Text = textBox2.Text;
}
};
基本上我響應TextChanged
甚至每個文本框,但要確保目標文本框沒有焦點,並且文字實際上已經改變。這可以防止無限的前後循環嘗試更新文本,並確保當前插入點不被覆蓋的文本所改變。
+0
非常好的解決方案。據我所知,完美地工作。 – DeanOC
1
我會說你部分回答了你自己的問題,讓他們都被分配到相同的TextChanged
EventHandler檢查哪個文本框已經改變,然後更新另一個文本屬性,像這樣。
private void textBox_TextChanged(object sender, EventArgs e)
{
if (((TextBox)sender).Equals(textBox1))
textBox2.Text = ((TextBox)sender).Text;
else
textBox1.Text = ((TextBox)sender).Text;
}
修改代碼,以克拉位置同步的兩個文本框的之間,看看這是你想要的東西。
private void textBox_TextChanged(object sender, EventArgs e)
{
TextBox tb = (TextBox)sender;
if (tb.Equals(textBox1))
{
if (textBox2.Text != tb.Text)
{
textBox2.Text = tb.Text;
textBox2.SelectionStart = tb.SelectionStart;
textBox2.Focus();
}
}
else
{
if (textBox1.Text != tb.Text)
{
textBox1.Text = tb.Text;
textBox1.SelectionStart = tb.SelectionStart;
textBox1.Focus();
}
}
}
相關問題
- 1. 如何同步兩個控件?
- 2. 如何覆蓋TextBox文本屬性
- 3. 如何綁定屬於兩個不同控件的兩個依賴項屬性?
- 4. 將textBox的控件文本綁定到類屬性
- 5. 如何同步兩個XML文件?
- 6. Swift - 保持兩個屬性同步
- 7. 同步兩個YAML文件
- 8. TextBox控件不更新.Text屬性
- 9. 寫文本從一個TextBox控件
- 10. 同步用戶控件中的多個屬性的綁定
- 11. 如何從兩個不同的屬性
- 12. 如何同步兩個本地文件結構
- 13. 如何控制的兩個屬性結合兩個對象的屬性正確
- 14. 如何同步兩個Subversion版本庫?
- 15. ASPxUploadControl:如何同步兩個控件的數據?
- 16. 休眠 - 同步映射同一列的兩個屬性
- 17. 如何在Laravel中同步同一個屬性的多個值?
- 18. 如何保持RoR中同步來自兩個不同表的屬性?
- 19. Pthread同步:兩個文本文件的前後讀取
- 20. 兩個文本框同步更新
- 21. 如何同步兩個多行文本框的滾動?
- 22. 如何在獨立的iframe中同步兩個文本區域?
- 23. 如何同步兩個文本框的表單值?
- 24. WPF MVVM +如何讓兩個控件綁定到不同的屬性?
- 25. SemanticZoom - 如何讓兩個ListView控件同步選擇?
- 26. 如何在MFC中垂直同步兩個列表控件
- 27. 如何同步兩個QGraphicsViews?
- 28. 如何同步兩個textareas?
- 29. 如何同步兩個NSManagedObjectContext
- 30. 如何同步兩個UIDatePickers
爲了澄清,您是否希望能夠鍵入到任一文本框中,或者只是一個,並讓另一個文本複製文本? – DeanOC
@DeanOC我希望能夠輸入到 – test