1

textBox.text焦点が合っていない場合にのみ変更したい。例:

public void updateValue()
    {
        if (!this.valueTB.IsFocused)
            this.valueTB.Text = updatedValue.ToString();
    } 

ただし、問題は、this.valueTB.IsFocusedプロパティが実際にフォーカスされている場合にのみ変更され、フォーカスされている場合には変更されないことです。

4

5 に答える 5

2

IsFocusedTextBoxがフォーカスを取得または失ったときに、プロパティは確かにその値を変更します。

ただし、TextBoxはGotFocusイベントとLostFocusイベントも提供します。

于 2012-12-21T11:38:51.413 に答える
0

テキストボックスフォーカスイベントLostを使用できます

そしてGotFocus

于 2012-12-21T11:43:22.633 に答える
0

問題は、IsFocusedイベントがフォーカスを取得したときにイベントが1回だけ発生し、その後は発生しないことです。Textbox焦点が合うまで、このイベントを継続的に発生させたいと思います。そのためには、特定の間隔でフォーカスがあるかどうかをチェックし続ける必要があります。

于 2012-12-21T11:54:23.263 に答える
0

多分あなたは結核が集中しているかどうかをあなたに告げるブール値を取ることができます:

    bool TBIsFocused = false;
    private void valueTB_Enter(object sender, EventArgs e)
    {
        TBIsFocused = true;
    }

    private void valueTB_Leave(object sender, EventArgs e)
    {
        TBIsFocused = false;
    }
于 2012-12-21T12:03:14.183 に答える
0

プロパティのみを使用してくださいIsFocused

public void updateValue()
{
     if((!tb.IsFocused) || (tb.IsFocused == false))
     {
          tb.Text = "The text was updated when I wasn't focused. Is't OK?";
     }
} 
于 2012-12-21T12:38:59.927 に答える