.NET Custom MessageBox текст выделен - PullRequest
1 голос
/ 30 января 2012

Почему?

Я создал простой пользовательский MessageBox как диалог в C #. Когда я показываю сообщение boxvia Show (), текст сообщения не выделяется. Когда я показываю это окно сообщения vi ShowDialog (), текст выделяется .

Я не хочу, чтобы мой текст был выделен. Есть мысли или идеи?

public partial class MyMessageBox : Form
    {
        private String mCaption;
        private String mMessage;


        public MyMessageBox( Form anOwner, String aCaption, String aMessage )
        {
            InitializeComponent();

            mCaption = aCaption;
            Owner = anOwner;
            mMessage = aMessage;
        }


        private void btnCancelRequest_Click( object sender, EventArgs e )
        {
            ( (AddressForm)Owner ).RequestCancelled();
        }


        private void btnOk_Click( object sender, EventArgs e )
        {
            CloseDialog();
        }


        public void CloseDialog()
        {
            Close();
        }


        // Called from the Address Form
        public void HideCancelRequestButton()
        {
            btnCancelRequest.Visible = false;
        }


        private void MyMessageBox_Activated( object sender, EventArgs e )
        {
            Text = mCaption;
            txtMessage.Text = mMessage;
        }
    }

1 Ответ

2 голосов
/ 30 января 2012

Хотя я не понимаю, почему текст будет выделен, этого можно избежать, явно указав длину выделения в текстовом поле:

txtMessage.SelectionLength = 0;

хотя, как прокомментировал Джереми, использование метки может быть лучше, если вы на самом деле не ожидаете ввода от пользователя.

...