1

があるユーザーコントロールがありますTextBoxTextBoxコンストラクターでフォーカスを設定するとTextBox、期待どおりに動作します。ただし、ユーザー コントロールが最初に表示されたときに にフォーカスを設定したくない場合がTextBoxあるため、 にフォーカスを設定するプロパティをユーザー コントロールに追加しましたTextBoxTextBoxこれは機能しますが、フォーカスを失った後にフォーカスをリセットできないという問題があります。

なぜこれが起こっているのか、誰も考えていませんか?

    public ucQueryBox()
    {
        InitializeComponent();

        // Set default values for properties
        CodePrompt = "Barcode";
        TextBoxFontSize = 20;
        TextBoxMaxWidth = 0;
        Label = "";
        LabelFontSize = 20;
        LabelForeground = Colors.White.ToString();
        KeyboardButtonVisibility = Visibility.Visible;

        txtSelection.Focus();
    }

    /// <summary>
    /// Allows user to decide whether or the user control should have focus when it loads
    /// Focus puts the green boarder around the textbox
    /// </summary>
    [Browsable(true)]
    public Boolean SetFocusOnLoad
    {
        get { return _bSetFocusOnLoad; }
        set 
        { 
            _bSetFocusOnLoad = value;

            if (_bSetFocusOnLoad)
                txtSelection.Focus();
        }
    }
4

1 に答える 1