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

  • Автор темы Автор темы runlike
  • Дата начала Дата начала

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;
 
Потому что по умолчанию у Вас стоит фокус на первой кнопке - "Из файла", поэтому Энтер на неё и срабатывает.
 
Потому что по умолчанию у Вас стоит фокус на первой кнопке - "Из файла", поэтому Энтер на неё и срабатывает.
Спасибо, а не подскажите как этот фокус по умолчанию убрать, или изменить на другую кнопку ?
 
Мышкой клацайте. Вам же нужно руками выбирать по какому элементу клацать, в коде Вы не настроите, чтобы он сам понимал что именно Вам нужно клацнуть.
 

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