Требуется небольшая помощь с С# win forms

runlike

Client
Регистрация
22.09.2015
Сообщения
175
Благодарностей
51
Баллы
28
Проблема следующая. Создал форму, добавил несколько кнопок, назначаю Acceptbutton на кнопку 2, при нажатии на энтер приходит ответ "yes", как будто нажал на 1 кнопку. Назначаю Acceptbutton на кнопку 1, наоборот приходит "No", как будто нажал 2. Короче действие прямо противоположное нужному. Почему так ?

Мой код, на всякий случай
Код:
System.Windows.Forms.Form F = new System.Windows.Forms.Form();
F.Text = "Дальше?";
F.Width=300;    //- задает ширину формы в пикселях
F.Height=350;    //- задает высоту формы в пикселях
//создаем кнопку
System.Windows.Forms.Button button = new System.Windows.Forms.Button();
//задаем имя чекбоксам
button.Text = "Из файла";
//положение в окне
button.Location = new System.Drawing.Point(10,5);
//размер кнопочки
button.Size=new System.Drawing.Size(100, 250);
//кидаем на форму
F.Controls.Add(button);

//создаем richтекстбокс
System.Windows.Forms.RichTextBox rtbox = new System.Windows.Forms.RichTextBox();
//указываем местоположение
rtbox.Location = new System.Drawing.Point(15,265);
//указываем размеры в пикселях
rtbox.Width =250;
rtbox.Height = 30;
//крепим на форму
F.Controls.Add(rtbox);

//создаем кнопку
System.Windows.Forms.Button button2 = new System.Windows.Forms.Button();
//задаем имя чекбоксам
button2.Text = "Стоп";
//положение в окне
button2.Location = new System.Drawing.Point(175,5);
//размер кнопочки
button2.Size=new System.Drawing.Size(100, 250);
//кидаем на форму
F.Controls.Add(button2);

//создаем кнопку
System.Windows.Forms.Button button3 = new System.Windows.Forms.Button();
//задаем имя чекбоксам
button3.Text = "Вставь текст";
//положение в окне
button3.Location = new System.Drawing.Point(108,185);
//размер кнопочки
button3.Size=new System.Drawing.Size(70, 70);
//кидаем на форму
F.Controls.Add(button3);

F.AcceptButton = button2;

button.Click += (delegate
{
    project.Variables["answer"].Value = "yes";
    project.Variables["answer2"].Value = rtbox.Text;
            F.Dispose();
});


button2.Click += (delegate
{
    project.Variables["answer"].Value = "no";
    project.Variables["answer2"].Value = rtbox.Text;
            F.Dispose();
});


//запускаем форму
F.ShowDialog();
return 0;
 

ZennoScript

Moderator
Регистрация
04.03.2011
Сообщения
4 450
Благодарностей
1 880
Баллы
113
Потому что по умолчанию у Вас стоит фокус на первой кнопке - "Из файла", поэтому Энтер на неё и срабатывает.
 

runlike

Client
Регистрация
22.09.2015
Сообщения
175
Благодарностей
51
Баллы
28
Потому что по умолчанию у Вас стоит фокус на первой кнопке - "Из файла", поэтому Энтер на неё и срабатывает.
Спасибо, а не подскажите как этот фокус по умолчанию убрать, или изменить на другую кнопку ?
 

ZennoScript

Moderator
Регистрация
04.03.2011
Сообщения
4 450
Благодарностей
1 880
Баллы
113
Мышкой клацайте. Вам же нужно руками выбирать по какому элементу клацать, в коде Вы не настроите, чтобы он сам понимал что именно Вам нужно клацнуть.
 

Кто просматривает тему: (Всего: 1, Пользователи: 0, Гости: 1)