Форум программистов, компьютерный форум, киберфорум
C# Windows Forms
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.51/251: Рейтинг темы: голосов - 251, средняя оценка - 4.51
18 / 18 / 3
Регистрация: 17.02.2010
Сообщений: 211

Как убрать кнопку закрытия (крестик) в заголовке формы

14.11.2012, 13:08. Показов 47323. Ответов 6
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Добрый день.
Нужно либо деактивировать кнопку на форме в верхнем правом углу [X] (закрыть/выйти из формы), либо вооще убрать эту кнопку. Подскажите, как это можно реализовать? Просмотрел своийства формы и по этой кнопке ничего не нашел мож плохо смотрел.
И еще вопрос, попросил админ отобразить в строке IP-адрес, сделал так:
C#
1
2
3
4
            myHost = System.Net.Dns.GetHostName();
            compIP = System.Net.Dns.GetHostEntry(myHost).AddressList[0].ToString();
 
            label5.Text = compIP;
выводится какая-то фигня, показал админу, говорит что не та версия, нужна V.4. И как указать чтобы отбражалась нужная версия?
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
14.11.2012, 13:08
Ответы с готовыми решениями:

Как сделать крестик неактивным в заголовке формы
как можно выключить крестик на форме ?.Вот именно выключить а не свойством controlBox и не событием formClosing(и рисовать в picturebox...

Как из формы убрать кнопку CloseButton (крестик) в верхнем правом углу?
Хочу сделать subj. Вопрос: как из формы убрать кнопку CloseButton (крестик) в верхнем правом углу? MinButton и MaxButton убираются в...

Как узнать, что юзер нажал крестик закрытия формы?
В builder открыто модально окно: Form2->ShowModal(); В нём при срабатывании таймера начинается работа (счёт). Некий Label показывает...

6
 Аватар для andrew_w2k
341 / 341 / 90
Регистрация: 04.03.2010
Сообщений: 648
14.11.2012, 13:50
насчёт того, чтобы убрать в заголовке формы кнопку закрытия окна, это нужно прибегнуть к каким-нибудь народным средствам. Но зато можно легко убрать стандартный заголовок окна в свойствах формы, а потом создать свой.
и на счёт IP
C#
1
2
3
4
5
string strHostName = System.Net.Dns.GetHostName();
            IPHostEntry ipEntry = System.Net.Dns.GetHostEntry(strHostName);
            IPAddress[] addr = ipEntry.AddressList;
 
            Console.WriteLine(addr[addr.Length - 1]);
1
18 / 18 / 4
Регистрация: 11.01.2008
Сообщений: 51
14.11.2012, 14:31
Можно только весь блок из трех кнопок убрать:
Стиль окна -> ControlBox = false
2
 Аватар для Spectral-Owl
608 / 583 / 157
Регистрация: 29.06.2010
Сообщений: 1,620
14.11.2012, 14:45
Цитата Сообщение от Illusive Посмотреть сообщение
Можно только весь блок из трех кнопок убрать:
Стиль окна -> ControlBox = false
Явно не в C#

проще:
C#
1
this.BorderStyle=FormBorderStyle.None;
потом добавить в форму панель со свойством Dock==true, и уже с ней работать как с заголовком формы.
Плюс - с таким заголовком можно делать практически всё что угодно.
Минус - теряется визуализация заголовка от винды. ну ещё как небольшой минус - обработку перетаскивания формы придётся переписывать самому.

Добавлено через 4 минуты
Цитата Сообщение от Spectral-Owl Посмотреть сообщение
Явно не в C#
Ан-нет, прошу прощения, и правда можно. "Стиль окна" меня смутил. BorderStyle - это enum и обращаться к его свойствам мне показалось дико)
а так работает
C#
1
this.ControlBox=false;
правда ни тот ни тот пример не застрахуют от Alt+F4. щас обработчик ок выкину

Добавлено через 1 минуту
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
 private void frmParent_FormClosing(object sender, FormClosingEventArgs e)
        {
                //при попытке закрытия программы пользователем
                if (e.CloseReason == CloseReason.UserClosing)
                {
                    //устанавливает флаг отмены события в истину
                    e.Cancel = true;
                    //спрашивает стоит ли завершится
                    if (MessageBox.Show("Вы уверены что хотите закрыть программу?", "Выйти?", MessageBoxButtons.YesNo) == DialogResult.Yes)
                    {
                        //и после этого только завершается работа приложения
                        Application.Exit();
                    }
                }
        }
1
18 / 18 / 3
Регистрация: 17.02.2010
Сообщений: 211
14.11.2012, 16:33  [ТС]
Всем спасибо за участие!!!
По IP-шке все получилось! А с кнопкой, да оставил я ее, но немного переработал код Spectral-Owl:
C#
1
2
3
4
5
6
if (MessageBox.Show("Вы уверены что хотите закрыть программу?", "Выйти?", MessageBoxButtons.YesNo) == DialogResult.Yes)
                {
                    //и после этого только завершается работа приложения
                    Application.Exit();
                }
                else WindowState = FormWindowState.Minimized;
т.е. я на ДА закрываю прогу а на НЕТ сворачиваю ее в трей.
Тут еще админ попросил когда наводиш курсор мышиный на значек в трее и кликаем правую кнопку, нужно развернуть менюшку с набором пользовательских пунктиков(заданный список)! Может кто подскажет каким образом отловить подобное нажатие мышки?
1
 Аватар для Spectral-Owl
608 / 583 / 157
Регистрация: 29.06.2010
Сообщений: 1,620
14.11.2012, 17:44
notifyIcon тебе в помощь)
правда сам не знаю как визуально размещать в данном контроле менюшку, но программно как-то так:

C#
1
2
3
4
5
6
7
8
            MenuItem m2=new MenuItem("m2");
            MenuItem m1=new MenuItem("m1");
 
            ContextMenu a = new ContextMenu();
            a.MenuItems.Add(m1);
            a.MenuItems.Add(m2);
 
            notifyIcon1.ContextMenu = a;
у MenuItem могут быть как коллекции собственных MenuItem'ов, так и обработчики различных событий
1
18 / 18 / 3
Регистрация: 17.02.2010
Сообщений: 211
14.11.2012, 23:32  [ТС]
Spectral-Owl, спасибо, завтра попробую, думаю админ бу доволен
Всем спасибо за помощь!!!
Тема закрыта.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
14.11.2012, 23:32
Помогаю со студенческими работами здесь

как сделать так чтобы при нажатии на крестик или на кнопку Завершить выбивало подтверждающих закрытия
как сделать так чтобы при нажатии на крестик или на кнопку Завершить выбивало подтверждающих закрытия и оно работало правельно, при нажатии...

Как определить, что была нажата кнопка (крестик) закрытия формы
Как определить что была нажата кнопка закрытия формы непосредственно в событии FormClosing/FormClosed? Сейчас использую такой код, но...

Как присвоить кнопке закрытия формы (крестик) другое действие? Например, MessageBox
Добрый день)

Как убрать кнопку развернуть в заголовке окна
Как убрать кнопку развернуть в заголовке окна?

Как убрать значок Делфи (Семерку) в заголовке формы?
Как сделать, чтобы в Делфи 7 при открытии готового проекта в заголовке окна был только нужный текст без лейбла Делфи - семерки?


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Новые блоги и статьи
Functional First Web Framework Suave
DevAlt 30.03.2026
Sauve. IO Апнулись до NET10. Из зависимостей один пакет, работает одинаково хорошо как в режиме проекта так и в интерактивном режиме. из сложностей - чисто функциональный подход. Решил. . .
Автоматическое создание документа при проведении другого документа
Maks 29.03.2026
Реализация из решения ниже выполнена на нетиповых документах, разработанных в конфигурации КА2. Есть нетиповой документ "ЗаявкаНаРемонтСпецтехники" и нетиповой документ "ПланированиеСпецтехники". В. . .
Настройка движения справочника по регистру сведений
Maks 29.03.2026
Решение ниже реализовано на примере нетипового справочника "ТарифыМобильнойСвязи" разработанного в конфигурации КА2, с целью учета корпоративной мобильной связи в коммерческом предприятии. . . .
Автозаполнение реквизита при выборе элемента справочника
Maks 27.03.2026
Программный код из решения ниже на примере нетипового документа "ЗаявкаНаРемонтСпецтехники" разработанного в конфигурации КА2. При выборе "Спецтехники" (Тип Справочник. Спецтехника), заполняется. . .
Сумматор с применением элементов трёх состояний.
Hrethgir 26.03.2026
Тут. https:/ / fips. ru/ EGD/ ab3c85c8-836d-4866-871b-c2f0c5d77fbc Первый документ красиво выглядит, но без схемы. Это конечно не даёт никаких плюсов автору, но тем не менее. . . всё может быть. . .
Автозаполнение реквизитов при создании документа
Maks 26.03.2026
Программный код из решения ниже размещается в модуле объекта документа, в процедуре "ПриСозданииНаСервере". Алгоритм проверки заполнения реализован для исключения перезаписи значения реквизита,. . .
Команды формы и диалоговое окно
Maks 26.03.2026
1. Команда формы "ЗаполнитьЗапчасти". Программный код из решения ниже на примере нетипового документа "ЗаявкаНаРемонтСпецтехники" разработанного в конфигурации КА2. В качестве источника данных. . .
Кому нужен AOT?
DevAlt 26.03.2026
Решил сделать простой ланчер Написал заготовку: dotnet new console --aot -o UrlHandler var items = args. Split(":"); var tag = items; var id = items; var executable = args;. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru