我對編程相當陌生,所以如果我沒有正確描述所有內容,請和我一起裸露。我試圖爲員工創建一個TimeCard應用程序,以便能夠通過應用程序跟蹤他們的工作時間,而不必手動記下他們的工作時間。我有一個體面的數量的文本框,我需要檢查。需要幫助清理和恢復點擊的文本框
首先,我想檢查文本框是否被點擊,它將清除當前在該文本框中的值。其次,我想再次檢查文本框,如果用戶單擊了文本框並且沒有在文本框(空白文本框)中插入任何值(小時),它將自動將文本返回到0(小時)。
我正在使用'MouseClick'屬性來分配所有這些文本框。模式代碼的第一部分工作正常。當用戶單擊該框時,它會清除之前存在的0文本,但我無法弄清楚如何返回該0值。一旦文本框被點擊,它將清除文本框並將其保留爲空。我已經看到了可以一次完成一個的方法,但我正在嘗試學習如何有效地進行編碼。任何關於這種情況的指導和幫助將不勝感激。謝謝。
工具:C#/的Visual Studio 2012 /的Microsoft SQL 2012
private void MainForm_Load(object sender, EventArgs e)
{
foreach (Control control1 in this.Controls)
{
if (control1 is TextBox)
{
control1.MouseClick += new System.Windows.Forms.MouseEventHandler(this.AllTextBoxes_Click);
}
}
}
//Mouse Click Clear
private void AllTextBoxes_Click(object sender, MouseEventArgs e)
{
if ((sender is TextBox))
{
((TextBox)(sender)).Text = "";
}
}
我建議使用一個按鈕來讀取文本框中的值並將其提交給數據庫(或任何永久性存儲),並且只有在數據正確存儲後,才能清除文本框。 – Steve 2014-08-28 14:08:24
我不確定要了解您的要求,但檢查控件失去焦點時的事件是... [LostFocus](http://msdn.microsoft.com/zh-cn/library/system.windows.forms .control.lostfocus(v = vs.110)的.aspx)。如果您確實使用它,請考慮使用[GotFocus](http://msdn.microsoft.com/en-us/library/system.windows.forms.control.gotfocus(v = vs.110).aspx)而不是Click爲更好的用戶體驗(如果用戶使用標籤來集中你的文本框呃?:p) – Kilazur 2014-08-28 14:10:51
請澄清這一點'第二,我想再次檢查,如果用戶離開文本框並插入任何值的小時它返回到 – djv 2014-08-28 14:14:40