Модераторы: Partizan, gambit
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> заблокировать крестик на форме, заблокировать крестик на форме 
:(
    Опции темы
romeobugulma
Дата 15.10.2007, 11:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 10
Регистрация: 5.10.2007

Репутация: нет
Всего: нет



подскажите пожалуйста заблокировать крестик на форме. (C#)
Заранее спасибо.
PM MAIL   Вверх
1stain
Дата 15.10.2007, 11:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 486
Регистрация: 30.7.2007
Где: Киев - Харьков

Репутация: 8
Всего: 40



как заблокировать не знаю, видимо надо мутить через API, но может сойдет e.Cancel = true в обработчике события Form.Closing ?


--------------------
Все знают, что это невозможно. Но вот приходит невежда, которому это неизвестно - он-то и делает открытие. (Albert Einstein)
user posted image
PM MAIL   Вверх
zaver
Дата 15.10.2007, 13:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 204
Регистрация: 15.8.2005

Репутация: нет
Всего: 3



Цитата(1stain @ 15.10.2007,  11:38)
как заблокировать не знаю, видимо надо мутить через API, но может сойдет e.Cancel = true в обработчике события Form.Closing ?

да, присвоение e.Cancel = true работает, проверял. но если .Net Framework версии выше первой, то лучше использовать Form.FormClosing, т.к. он более корректно работает. 
Form.Closing во 2ом фрейворке специально спрятали аттрибутами от Intellisence и Properties Editor.

Добавлено через 12 минут и 12 секунд
в таком случае надо делать так:
Код

//флаг который разрешает форме закрываться
 bool canClose = false;


        private void Form1_FormClosing(object sender, FormClosingEventArgs e)
        {
            if (!canClose) e.Cancel = true;

        }

//только по нажатию этой кнопки можно закрываться
        private void button1_Click(object sender, EventArgs e)
        {
            canClose = true;
            Close();
        }

можно еще поиграться с параметром e.CloseReason, если например хочешь разрешить пользователю закрывать форму из диспетчера задач, или чтобы форма закрывалась при выгрузки Винды
Код

if (e.CloseReason != CloseReason.UserClosing) e.Cancel = false;

PM MAIL WWW ICQ Skype YIM MSN   Вверх
Bogdan1024
Дата 15.10.2007, 15:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1436
Регистрация: 28.9.2005
Где: Киев

Репутация: 5
Всего: 13



Можно поменять WindowStyle окошка чтобы его не было видно smile


--------------------
user posted image
PM MAIL   Вверх
1stain
Дата 15.10.2007, 16:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 486
Регистрация: 30.7.2007
Где: Киев - Харьков

Репутация: 8
Всего: 40



Цитата(Bogdan1024 @  15.10.2007,  15:42 Найти цитируемый пост)
Можно поменять WindowStyle окошка чтобы его не было видно 

а лучше вапсче его не создавать  smile 


--------------------
Все знают, что это невозможно. Но вот приходит невежда, которому это неизвестно - он-то и делает открытие. (Albert Einstein)
user posted image
PM MAIL   Вверх
tol05
Дата 15.10.2007, 16:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник Клуба
Сообщений: 1632
Регистрация: 21.12.2006
Где: Харьков

Репутация: 63
Всего: 170



Переопределите CreateParams в форме и наслаждайтесь
Код

private const int CP_NOCLOSE_BUTTON = 0x200;
        protected override CreateParams CreateParams
        {
            get
            {
                CreateParams myCp = base.CreateParams;
                myCp.ClassStyle = myCp.ClassStyle | CP_NOCLOSE_BUTTON;
                return myCp;
            }
        } 

 smile 


--------------------
На хорошей работе и сны хорошие снятся.
PM MAIL   Вверх
kurzon
Дата 17.10.2007, 19:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 307
Регистрация: 12.8.2007

Репутация: -8
Всего: -11



Убрать или заблокировать?
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Прежде чем создать тему, посмотрите сюда:
mr.DUDA
THandle

Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов.
Что делать если Вам помогли, но отблагодарить помощника плюсом в репутацию Вы не можете(не хватает сообщений)? Пишите сюда, или отправляйте репорт. Поставим :)
Так же не забывайте отмечать свой вопрос решенным, если он таковым является :)


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, mr.DUDA, THandle.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Общие вопросы по .NET и C# | Следующая тема »


 




[ Время генерации скрипта: 0.2983 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.