Форум программистов, компьютерный форум, киберфорум
C# Windows Forms
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.90/21: Рейтинг темы: голосов - 21, средняя оценка - 4.90
0 / 0 / 0
Регистрация: 21.11.2017
Сообщений: 26

Работа с окнами (расположение окон каскадом,расположение окон вертикально,расположение окон)

03.12.2018, 13:22. Показов 4211. Ответов 3
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
не работает private void расположениеОконКаскадомToolStripMenuIte m_Click(object sender, EventArgs e)
private void ррасположениеОконВертикальноToolStripMen uItem_Click(object sender, EventArgs e)
private void расположениеОконГоризонтальноToolStripMe nuItem_Click(object sender, EventArgs e). Почему и как это решить?


C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
using System;
using System.Drawing;
using System.Windows.Forms;
 
namespace WindowsFormsApp2
{
    public partial class Form1 : Form
    {
        Bitmap image;
        Color CurrentColor = Color.Black;
        bool isPressed = false;
        Point CurrentPoint;
        Point PrevPoint;
 
        public Form1()
        {
            InitializeComponent();
            image = new Bitmap(pictureBox1.Width, pictureBox1.Height);
        }
        private void Form1_Load(object sender, EventArgs e)
        {
            Form2 frm2 = new Form2();
            frm2.FormBorderStyle = FormBorderStyle.None;
            frm2.ShowDialog();
        }
 
        private void открытьФайлToolStripMenuItem_Click(object sender, EventArgs e)
        {
            OpenFileDialog open_dialog = new OpenFileDialog(); 
            open_dialog.Filter = "Image Files(*.BMP;*.JPG;*.GIF;*.PNG)|*.BMP;*.JPG;*.GIF;*.PNG|All files (*.*)|*.*"; 
            if (open_dialog.ShowDialog() == DialogResult.OK) 
            {
                try
                {
                    image = new Bitmap(open_dialog.FileName);
                    this.pictureBox1.Size = image.Size;
                    pictureBox1.Image = image;
                    pictureBox1.Invalidate();
                }
                catch
                {
                    DialogResult rezult = MessageBox.Show("Невозможно открыть выбранный файл",
                    "Ошибка", MessageBoxButtons.OK, MessageBoxIcon.Error);
                }
            }
        }
        private void сохранитьФайлToolStripMenuItem_Click(object sender, EventArgs e)
        {
            if (pictureBox1.Image != null) 
            {
                
                SaveFileDialog savedialog = new SaveFileDialog();
                savedialog.Title = "Сохранить картинку как...";               
                savedialog.OverwritePrompt = true;             
                savedialog.CheckPathExists = true;                
                savedialog.Filter = "Image Files(*.BMP)|*.BMP|Image Files(*.JPG)|*.JPG|Image Files(*.GIF)|*.GIF|Image Files(*.PNG)|*.PNG|All files (*.*)|*.*";             
                savedialog.ShowHelp = true;
                if (savedialog.ShowDialog() == DialogResult.OK) 
                {
                    try
                    {
                        image.Save(savedialog.FileName, System.Drawing.Imaging.ImageFormat.Jpeg);
                    }
                    catch
                    {
                        MessageBox.Show("Невозможно сохранить изображение", "Ошибка",
                        MessageBoxButtons.OK, MessageBoxIcon.Error);
                    }
                }
            }
        }
        private void расположениеОконКаскадомToolStripMenuItem_Click(object sender, EventArgs e)
        {
            LayoutMdi(MdiLayout.Cascade);
        }
 
        private void ррасположениеОконВертикальноToolStripMenuItem_Click(object sender, EventArgs e)
        {
           LayoutMdi(MdiLayout.TileVertical);
        }
 
        private void расположениеОконГоризонтальноToolStripMenuItem_Click(object sender, EventArgs e)
        {
            LayoutMdi(MdiLayout.TileHorizontal);
        }
       
        private void создатьФайлToolStripMenuItem_Click(object sender, EventArgs e)
        {
            Graphics gr = Graphics.FromImage(image);
            gr.Clear(Color.White);
            pictureBox1.Invalidate();
        }
 
        private void закрытьToolStripMenuItem_Click(object sender, EventArgs e)
        {
            pictureBox1.Image.Dispose();
            pictureBox1.Image = null;
        }
        private void pictureBox1_MouseUp(object sender, MouseEventArgs e)
        {
            isPressed = false;            
        }
 
        private void pictureBox1_MouseMove(object sender, MouseEventArgs e)
        {
            if (isPressed)
            {
                PrevPoint = CurrentPoint;
                CurrentPoint = e.Location;
                for_paint();
            }
        }
 
        private void pictureBox1_MouseDown(object sender, MouseEventArgs e)
        {
            isPressed = true;
            CurrentPoint = e.Location;
 
        }
 
        private void for_paint()
        {
            if (pictureBox1.Image != null)
            {
                Graphics gr = Graphics.FromImage(image);
                Pen p = new Pen(CurrentColor);
                gr.DrawLine(p, PrevPoint, CurrentPoint);
                pictureBox1.Image = image;
            }
        }
 
        private void button1_Click(object sender, EventArgs e)
        {
            DialogResult D = colorDialog1.ShowDialog();
            if (D == DialogResult.OK)
            {
                CurrentColor = colorDialog1.Color;
            }
        }
 
        private void цветToolStripMenuItem_Click(object sender, EventArgs e)
        {
            DialogResult D = colorDialog1.ShowDialog();
            if (D == DialogResult.OK)
            {
                CurrentColor = colorDialog1.Color;
            }
        }
    }
}
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
03.12.2018, 13:22
Ответы с готовыми решениями:

Расположение MDI-окон
У меня есть тулбар и TreeView. тулбар выравнивается поверху, TreeView - слева. Если поставить соотв. значения Dock, то TreeView, сволочь,...

Panel и тег <BR />: расположение контроллов вертикально
Есть панелька на ней создаются динамически создаются 3 label и 3 TextBox protected void Button1_Click(object sender, EventArgs e) ...

Расположение экземпляров окон на экране
Есть такая задача: Окно первого экземпляра приложения расположить в левом верхнем, второго - в правом верхнем, третьего - в левом нижнем,...

3
548 / 355 / 120
Регистрация: 17.08.2014
Сообщений: 1,351
03.12.2018, 22:13
Работает это только с дочерними mdi формами.

C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
     private void cascadeToolStripMenuItem_Click(object sender, EventArgs e)
        {
            foreach (var f in MdiChildren)
            {
 
                if (f.WindowState == FormWindowState.Minimized)
                {
                    f.WindowState = FormWindowState.Normal;
                    f.Show();
                }
              
                
            }
            this.LayoutMdi(MdiLayout.Cascade);
            
        }
 
        private void horizontalToolStripMenuItem_Click(object sender, EventArgs e)
        {
            foreach (var f in MdiChildren)
            {
 
                if (f.WindowState == FormWindowState.Minimized)
                {
                    f.WindowState = FormWindowState.Normal;
                    f.Show();
                }
           
            }
            LayoutMdi(MdiLayout.TileHorizontal);
        }
 
        private void verticalToolStripMenuItem_Click(object sender, EventArgs e)
        {
            foreach (var f in MdiChildren)
            {
                if (f.WindowState == FormWindowState.Minimized)
                {
                    f.WindowState = FormWindowState.Normal;
                    f.Show();
                }
               
            }
            LayoutMdi(MdiLayout.TileVertical);
        }
 
        private void minimizedToolStripMenuItem_Click(object sender, EventArgs e)
        {
            foreach (var f in MdiChildren)
            {
 
                f.WindowState = FormWindowState.Minimized;
                f.Hide();
               
            }
        }
Добавлено через 3 минуты
C#
1
2
3
4
5
6
7
   private void Form1_Load(object sender, EventArgs e)
        {
            Form2 frm2 = new Form2();
            frm2.FormBorderStyle = FormBorderStyle.None;
frm2.MdiParent=this;
            frm2.Show();
        }
0
0 / 0 / 0
Регистрация: 21.11.2017
Сообщений: 26
04.12.2018, 18:02  [ТС]
Вот это для чего
Цитата Сообщение от Andreyip Посмотреть сообщение
private void minimizedToolStripMenuItem_Click(object sender, EventArgs e)
* * * * {
* * * * * * foreach (var f in MdiChildren)
* * * * * * {
f.WindowState = FormWindowState.Minimized;
* * * * * * * * f.Hide();
}
* * * * }
и какое событие использовать?
0
548 / 355 / 120
Регистрация: 17.08.2014
Сообщений: 1,351
04.12.2018, 20:01
Bunngle, это я использовал чтобы скрывать все свернутые окна которые обычно скапливаются снизу. У меня же для отображения открытых (не важно в каком состоянии) форм был сделан специальный контейнер как панель задач в Windows. Вы можете это не использовать.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
04.12.2018, 20:01
Помогаю со студенческими работами здесь

Расположение окон по углам экрана
Построить два окна по верхним углам экрана и ввывести в каждое окно сообщение окно1 и окно 2. Сделать некоторую паузу и очистить экран

Виндовс 7. Расположение окон. Как исправит?
В виндовс 7 расположение окон менеться когда одно из них временно не отвечаеть. Как это отменит, или вернут окна в обычные места?

Расположение окон на экране под Win10
Под Windows 10 вывожу два окна, надо чтобы GrafForm было сразу под MainForm GrafForm.Top := MainForm.Top + MainForm.Height; ...

Реализовать интерфейс, обеспечивающий заданное расположение и назначение окон на экране
Задание: используя технологию структурного программирования, разработать программу решения индивидуальной задачи, содержащей 3 вида...

Определенное расположение окон при их "причаливании"
Имеется несколько окно, которые пользователь причаливает и отчаливает с панели во время работы с программой. Можно ли сделать так, чтобы...


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

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Новые блоги и статьи
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут. В век Веб все очень привыкли к дизайну Single-Page-Application . Быстренько разберем подход "на фреймах". Мы делаем одну. . .
Фото: Daniel Greenwood
kumehtar 13.11.2025
Расскажи мне о Мире, бродяга
kumehtar 12.11.2025
— Расскажи мне о Мире, бродяга, Ты же видел моря и метели. Как сменялись короны и стяги, Как эпохи стрелою летели. - Этот мир — это крылья и горы, Снег и пламя, любовь и тревоги, И бескрайние. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru