Не задаётся программно AcceptButton
От: svmich Россия  
Дата: 09.02.11 12:15
Оценка:
Кто-нибудь знает, чего я тут делаю не так?
Назначаю в коде (ниже) свойство AcceptButton в конце конструктора модального диалога (наследник Form, по которому вызывается ShowDialog()), а реально при нажатии получаю DialogResult, соответствующий нажатию другой из двух кнопок диалога...


    public partial class Form1 : Form
    {
        public Form1()
        {
            const int
                horizontalMargin = 10,
                verticalMargin = 10;

            SuspendLayout();

            InitializeComponent();

            btnRight = new Button();
            btnRight.Parent = this;
            btnRight.Location = new Point(ClientSize.Width - horizontalMargin - btnRight.Width, ClientSize.Height - verticalMargin - btnRight.Height);
            btnRight.Text = "Right";
            btnRight.DialogResult = System.Windows.Forms.DialogResult.No;

            btnLeft = new Button();
            btnLeft.Parent = this;
            btnLeft.Location = new Point(btnRight.Left - horizontalMargin - btnLeft.Width, ClientSize.Height - verticalMargin - btnLeft.Height);
            btnLeft.Text = "Left";
            btnLeft.DialogResult = System.Windows.Forms.DialogResult.Yes;

            AcceptButton = btnLeft;
            CancelButton = btnRight;

            ResumeLayout(true);
        }

        private Button btnLeft, btnRight;
    }


В результате при нажатии Enter моя переменная result
DialogResult result = form.ShowDialog();

получает DialogResult.No, соответствующий не той кнопке, которая назначена как AcceptButton, а другой.

Кто-нибудь понимает, в чём тут дело?
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.