Форум программистов, компьютерный форум, киберфорум
C# Windows Forms
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/7: Рейтинг темы: голосов - 7, средняя оценка - 5.00
3 / 3 / 1
Регистрация: 04.02.2014
Сообщений: 69
.NET 4.x

Связать две формы по координатам, в том числе, для одновременного перемещения

08.03.2014, 00:53. Показов 1402. Ответов 6
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте.

у меня есть две формы. Вторая ( прозрачная и имеет некие инструменты ) вызывается кнопкой из первой. Подскажите пожалуйста как привязать их по координатно, что бы вторая форма создавалась по верх первой. Если подскажите как сделать что бы можно было переносить вторую и за ней перемещалась первая, вообще будет здорово.

За ранее благодарю.
0
Лучшие ответы (1)
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
08.03.2014, 00:53
Ответы с готовыми решениями:

Связать две формы для одновременного использования.
Здравствуйте.Подскажите пожалуйста,как связать две формы в делфи. Если прописать юнит1 и юнит2 - выдает вот такую ошибку:"А у меня...

В списке сделать команды перемещения элемента вверх и вниз по списку (две кнопки для перемещения в ListBox)
Помогите плз с прогой. Задание: в списке сделать команды перемещения элемента вверх и вниз по списку(две кнопки для перемещения в...

На компьютере две сетевые, первую выключаю, а на вторую переношу и МАС в том числе.
Мой вопрос близко к теме. На компьютере две сетевые, первую выключаю, а на вторую переношу и МАС в том числе. Проверяю ipconfig/all...

6
 Аватар для pokerface
209 / 174 / 48
Регистрация: 20.09.2012
Сообщений: 481
08.03.2014, 01:02
Это пишем в 1 форме
C#
1
2
3
4
5
private void button12_Click(object sender, EventArgs e)
        {
            Form2 instrPanel = new Form2(this.Location.X, this.Location.X);
            instrPanel.Show();
        }
Это во второй
C#
1
2
3
4
5
6
7
8
9
10
11
12
public Form2(int X, int Y)
        {
            locationX = X;
            locationY = Y;
            InitializeComponent();
        }
        int locationX;
        int locationY;
        private void Form2_Load(object sender, EventArgs e)
        {
            this.Location = new Point(locationX, locationY);
        }
1
3 / 3 / 1
Регистрация: 04.02.2014
Сообщений: 69
16.03.2014, 16:12  [ТС]
не помогло. Если перемещать первую форму - вторая по прежнему создается в одном и том же месте.
0
 Аватар для pokerface
209 / 174 / 48
Регистрация: 20.09.2012
Сообщений: 481
17.03.2014, 17:45
Лучший ответ Сообщение было отмечено good soul как решение

Решение

Прямой способ:
В форме 1 Пишем
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
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
 
namespace WindowsFormsApplication8
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }
 
        private void Form1_Load(object sender, EventArgs e)
        {
            Form2 instrPanel = new Form2(this);
            instrPanel.Show();
        }
    }
}
В форме 2 пишем
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
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
 
namespace WindowsFormsApplication8
{
    public partial class Form2 : Form
    {
        public Form2(Form1 frm)
        {
            form1 = frm;
            form1.Move += new System.EventHandler(MoveForm);
            InitializeComponent();
        }
        Form1 form1;
        private void Form2_Load(object sender, EventArgs e)
        {
            this.TopMost = true;
            this.Location = new Point(form1.Location.X, form1.Location.Y);      
        }
        private void MoveForm(object sender, EventArgs e)
        {
            this.Location = new Point(form1.Location.X, form1.Location.Y);
        }
    }
}
1
3 / 3 / 1
Регистрация: 04.02.2014
Сообщений: 69
22.03.2014, 15:07  [ТС]
а можно так что бы была кнопка на форме 1 и по ее нажатию и вызывалась форма 2. Знаю что после всего вопрос звучит глупо, но не получается реализовать код из Form1 в обработчике button ( сам обработчик в другом классе. Создал new Form1 - не работает ). Думаю что я не правильно передаю параметр в обработчик Form2(Form1 frm).

Добавлено через 3 минуты
Цитата Сообщение от pokerface Посмотреть сообщение
private void Form1_Load(object sender, EventArgs e)
* * * * {
* * * * * * Form2 instrPanel = new Form2(this);
* * * * * * instrPanel.Show();
* * * * }

Вот здесь, написал так :

Form1 a = new Form1 ();
Form2 instrPanel = new Form2(a);
instrPanel.Show();
0
 Аватар для pokerface
209 / 174 / 48
Регистрация: 20.09.2012
Сообщений: 481
22.03.2014, 19:31
good soul, конечно можно)
C#
1
2
3
4
5
private void button12_Click(object sender, EventArgs e)
        {
             Form2 instrPanel = new Form2(this);
             instrPanel.Show();
        }
2
3 / 3 / 1
Регистрация: 04.02.2014
Сообщений: 69
23.03.2014, 01:02  [ТС]
вы не поняли. в место this нужно передать класс, но когда я создаю экземпляр класса все перестает работать
C#
1
2
3
4
5
6
private void button12_Click(object sender, EventArgs e)
        {
            Form1 a = new Form1();
            Form2 instrPanel = new Form2(a);
            instrPanel.Show();
         }
Добавлено через 8 минут
все я сам понял. Просто в процессе все немного было переделано и я сам запутался в своих планах. Спасибо за советы, они были очень полезны
2
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
23.03.2014, 01:02
Помогаю со студенческими работами здесь

Запрет сворачивания формы, в том числе и с помощью горячих клавиш
Доброе время суток. Пишу программу на visual basic 6.0. Подскажите пожалуйста какой код нужно написать чтобы программу нельзя было...

Получение координат мыши на экране (в том числе за пределами формы)
Здравствуйте! Как сделать чтобы при движение мыши в статус баре отражались координаты. НО не только координаты на форме программы, а везде....

Связать две формы
Добрый день, имеются две формы: основная(Наименование клиентов) и подчиненная (заявка каждого клиента). Они между собой связаны. Основная...

Связать две формы
Здравствуйте, у меня такая проблема : создал одну форму без источника, на неё добавил две, одну табличную(контакты клиента), вторую в один...

связать две формы
Помогите связать две формы, чтобы при нажатии кнопки появлялась вторая


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

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Работа со звуком через SDL3_mixer
8Observer8 08.02.2026
Содержание блога Пошагово создадим проект для загрузки звукового файла и воспроизведения звука с помощью библиотеки SDL3_mixer. Звук будет воспроизводиться по клику мышки по холсту на Desktop и по. . .
SDL3 для Web (WebAssembly): Основы отладки веб-приложений на SDL3 по USB и Wi-Fi, запущенных в браузере мобильных устройств
8Observer8 07.02.2026
Содержание блога Браузер Chrome имеет средства для отладки мобильных веб-приложений по USB. В этой пошаговой инструкции ограничимся работой с консолью. Вывод в консоль - это часть процесса. . .
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
SDL3 для Web (WebAssembly): Установка Emscripten SDK (emsdk) и CMake для сборки C и C++ приложений в Wasm
8Observer8 30.01.2026
Содержание блога Для того чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. . . .
SDL3 для Android: Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru