Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > .NET Frameworks (точка нет фреймворки) > Общие вопросы .NET
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 03.05.2012, 18:25   #1
Faton 11
Пользователь
 
Регистрация: 04.10.2011
Сообщений: 74
По умолчанию не слушается кнопка Button в Windows.Forms

Приложение Windows.Forms: по нажатию кнопки Button окно дожно закрываться. но у меня оно закрывается сразу же после того, как открывается,т.е. без всякого нажатия.

Вот код:
Код:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;

namespace WindowsFormsApplication5
{
    public partial class Form1 : Form
    {
     private System.Windows.Forms.Button btnCancel;
        public Form1()
        {
            InitializeComponent();
            this.btnCancel = new System.Windows.Forms.Button();
            btnCancel.Click += new System.EventHandler(this.Form1_Load);
        }

        private void Form1_Load(object sender, EventArgs e)
        {
            Application.Exit();
        }
        
    }
}
Как указать, что закрываться окно должно по нажатию кнопки?
Faton 11 вне форума Ответить с цитированием
Старый 03.05.2012, 18:51   #2
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

помоему у вас метод назначен на событие OnLoad в редакторе.
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Старый 03.05.2012, 22:34   #3
Faton 11
Пользователь
 
Регистрация: 04.10.2011
Сообщений: 74
По умолчанию

В коде это в каком именно месте?
Faton 11 вне форума Ответить с цитированием
Старый 03.05.2012, 22:47   #4
=master=
Форумчанин
 
Регистрация: 26.03.2012
Сообщений: 665
По умолчанию

тут - InitializeComponent();
=master= вне форума Ответить с цитированием
Старый 07.05.2012, 16:42   #5
Faton 11
Пользователь
 
Регистрация: 04.10.2011
Сообщений: 74
По умолчанию

Т.е. вот так:

Код:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;

namespace WindowsFormsApplication5
{
    public partial class Form1 : Form
    {
     private System.Windows.Forms.Button btnCancel;
        public Form1()
        {
            InitializeComponent();
            this.btnCancel = new System.Windows.Forms.Button();
            btnCancel.Click += new System.EventHandler(this.btnCancel_Click);
        }

        private void Form1_Load(object sender, EventArgs e)
       {

       }
            protected void btnCancel_Click(object sender, System.EventArgs e)
        {
            Application.Exit();
        }
        
    }
}
А теперь хоть и не вылетает, но по нажатию кнопки тоже ничего не происходит =( Теперь что не так?

Последний раз редактировалось Faton 11; 07.05.2012 в 16:47.
Faton 11 вне форума Ответить с цитированием
Старый 07.05.2012, 16:46   #6
=master=
Форумчанин
 
Регистрация: 26.03.2012
Сообщений: 665
По умолчанию

Потому что не на ту нажимаете.
=master= вне форума Ответить с цитированием
Старый 07.05.2012, 17:09   #7
Faton 11
Пользователь
 
Регистрация: 04.10.2011
Сообщений: 74
По умолчанию

В каком смысле не на ту? Там кроме этой кнопки нажимать больше не на что, пожалуйста, объясните. Если не понять как обрабатывать простейшее нажатие кнопки, то об остальном и мечтать нечего =(
Faton 11 вне форума Ответить с цитированием
Старый 07.05.2012, 17:31   #8
=master=
Форумчанин
 
Регистрация: 26.03.2012
Сообщений: 665
По умолчанию

В прямом, вы свою кнопку btnCancel, даже на форме не увидите, не то что нажать на нее.
Вы зайдите в InitializeComponent и посмотрите как добавляются контролы на форму.
=master= вне форума Ответить с цитированием
Старый 07.05.2012, 17:36   #9
Faton 11
Пользователь
 
Регистрация: 04.10.2011
Сообщений: 74
По умолчанию

Я и не пытаюсь писать программу "вручную", я просто кнопку на форму положила. Кликнув 2 раза на эту форму открылось окно, в которое я хочу вставить обработчик событий.
Faton 11 вне форума Ответить с цитированием
Старый 07.05.2012, 17:44   #10
=master=
Форумчанин
 
Регистрация: 26.03.2012
Сообщений: 665
По умолчанию

А зачем вы тогда сюда этот ненужный код вывалили?

2 раза не на форму надо кликать а на кнопку.
А еще лучше в редакторе ивентов назначать нужный.
=master= вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Windows Forms masashama Windows Forms 12 14.02.2011 16:14
Как узнать нажата ли кнопка(Button) в чужом приложении? progan Win Api 7 13.01.2011 09:08
Кнопка Button zzzetka Помощь студентам 6 15.08.2010 16:44
windows.forms *stRong* Помощь студентам 0 04.06.2010 04:39