- Управление одной формой из другой
- 1-й способ. Передача ссылки в public переменную.
- 2-й способ. Передача ссылки в дочернюю форму.
- 3-й способ. Доступ ко всей родительской форме.
- Как получить доступ к элементам Form1 из другого класса
- Доступ к элементам формы из другого потока
- Решение
- Доступ к элементу другой формы
- Как программно получить все элементы из формы?
- 2 ответа 2
Управление одной формой из другой
Иногда бывает нужно обратиться к элементам какой-то формы из другой в процессе выполнения программы. Например, есть форма Form1, из нее мы открываем другую Form2 и теперь, работая в форме Form2 нужно обратиться, получить доступ к элементам родительской формы Form1. Я нашел несколько способов как это сделать.
1-й способ. Передача ссылки в public переменную.
Перед открытием формы, передаем ссылку на нужный элемент в переменную public вызываемой формы.
В форме Form2 переменная, в которую передавали ссылку, будет теперь соответствовать кнопке button1 из формы Form1
2-й способ. Передача ссылки в дочернюю форму.
Суть примерна та же, то и в 1-м способе. При открытии формы Form2 передаем в нее ссылку на элемент, который планируем потом менять.
Теперь в форме Form2 нужно создать переменную, которая будет содержать ссылку на эту кнопку и через нее будем обращаться к кнопке на Form1 (строки 5,7,9 и 15).
3-й способ. Доступ ко всей родительской форме.
Чтобы осуществить это, нужно внести изменения в нескольких файлах, но зато при этом получим доступ ко всем элементам родительской формы и не нужно передавать ссылку на каждый элемент, как в 1-м способе.
Шаг 1. В файле Program.cs создаем публичную переменную f1 (строка 5).
Шаг 2. Открываем Form1.Designer.cs и в нем у элементов, к которым нужно будет обратиться из другой формы, меняем private на public . Например, сделаем доступной для изменений кнопку button1 на форме Form1.
Шаг 3. При создании формы Form1 присваиваем переменной f1 ссылку на эту форму (строка 7)
Как получить доступ к элементам Form1 из другого класса
Здравствуйте! Нахожусь в начальных этапах обучения языку C# и конечно возникло много вопросов, часть из которых я решил сам. Буду признателен, если подскажите как получить доступ к элементам формы, для дальнейшего взаимодействия с ними.
Моя программа выполняет GET запрос, при создании потока. Хотел, после получения некоторых данных выводить их в процессе выполнения потока. Но увы, не понимаю как это сделать.
Как получить доступ к элементам формы из другого обычного класса (не из второй формы)
Сабж. В гугле вся инфа только про доступ из другой формы, это я знаю. А вот как получить доступ из.
Классы С++, получить доступ из одного класса к элементам другого
Здравствуйте! Объясните пожалуйста, вот имеется у меня два класса,например вот такие: Class A.
Как получить доступ к элементам UserControl из класса?
Это стол рулетки (UserControl), мне нужно каждому квадратику (Lable) задать цвет (красный,черный).
Как получить доступ к элементам формы из созданного класса?
Всем доброго времени суток!:help: Скажите, пожалуйста, как мне обратиться к элементу.
На форме кнопка и текстовое поле.
Добавлено через 8 минут
ingushmen, вариант 2, через событие.
MaxValue, делаю так.
Но, что-то не получается. Делаю так.
insite2012, спасибо, что подсказали эти варианты, но первый и второй способ немного не подходят.
Есть класс: func.cs
Есть глоб. переменная public static string Token.
Так же функция которая пихает в textBox1 этот Token:
insite2012, есть переменная та, «Token». Которая может применяться как для Form1, так и для других функций. (Я просто перехожу с Delphi на C#, могу ошибаться в некоторых случаях).
Как я писал есть func.cs, содержит примерно такой код:
А Form1.cs событие Button1_click выполняет код создания потока. Который выполнил, GET запрос за и прочие действия, в процессе выполнения потока, чтобы пихал Токен и выполня другие действия.
Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь или здесь.
Доступ к элементам и методам класса из другого класса
Пишу и понимаю, что создаю, наверняка, давно избитую тему, но вот уже второй день пытаюсь найти.
Доступ к элементам формы из другого класса
Приветствую, в классе Form1.cs находятся элементы формы. Так же есть класс Doing.cs, в котором.
Доступ к элементам формы из другого класса C#
Всем доброго времени суток!) Возник вопрос, как получить доступ к элементам пользовательского.
Доступ к элементам формы из другого класса
День добрый! Подобных вопросов на форумах куча, но я так и не могу дойти до истины. Вот есть у.
Доступ к элементам формы из другого потока
Хочу сделать в фоновом потоке добавление UserControl в StackPanel.
Но тогда экземпляр класса UserControl не создать потомучто вызывающий поток должен быть STA.
Задаю потоку состояние STA:
Возникает другая проблема в строке:
Доступ к элементам формы из другого потока
В общем, у меня есть много разных функций, которые вызывают другие функции, в которых происходят.
Доступ к элементам формы из другого класса/Потока
Здравствуйте, у меня есть класс работы потоков, при выполнении метода (В потоке) должна идти запись.
Доступ к bitmap и элементам формы из другого потока. Вычисление площади произвольной фигуры
Делаю программу для демонстрации вычисления площади произвольной фигуры различными методами.
Обращение к элементам формы из другого потока
Короче говоря многопоточность это моя слабость. Сколько статей перечитал уже, один хрен не пойму.
пример вивода текста в лейбл с разных потоков
Вложения
Threads.rar (56.3 Кб, 62 просмотров) |
Добавлено через 11 минут
у меня 8-я студия, я не конвертну с 10-ой.
создай делегата, перед инициализацией delegate void TextDelegate(UserControl1 us);
вот добавление значений в stackPanel1 с разных потоков.
а чтоб использовать в коде программы добавление в stackPanel, пишешь в таком формате:
Вложения
Threads.rar (58.2 Кб, 40 просмотров) |
Решение
Вложения
example.rar (36.9 Кб, 825 просмотров) |
Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь или здесь.
Обращение к элементам формы из другого потока
Извиняйте за очередную тему. Тут на форуме я уже их много прочитал, но все равно не могу понять эти.
Как получить доступ к элементам формы из другого обычного класса (не из второй формы)
Сабж. В гугле вся инфа только про доступ из другой формы, это я знаю. А вот как получить доступ из.
Доступ к элементам формы из другого класса
Приветствую, в классе Form1.cs находятся элементы формы. Так же есть класс Doing.cs, в котором.
Доступ к элементам формы из другого класса C#
Всем доброго времени суток!) Возник вопрос, как получить доступ к элементам пользовательского.
Доступ к элементу другой формы
Доступ к объекту другой формы
Есть 2 формы. Form1.h и Form2.h. На Form1.h есть CheckBox1, на Form2.h есть CheckBox2. Нужно.
Доступ из одной формы к элементам другой
Всем Привет. Я создал главную форму Form1. И вот так создал дочернюю форму Form2 .
Доступ к свойствам инструмента другой формы
Пишу на С++ в Visual Studio. Есть две формы Form1 и Form2, Form2 вызывается из Form1, тут всё в.
Ошибка 2227, как получить доступ к компонентам другой формы?
В Form2.h прописан следующий код String^ text; Form1^ f=gcnew Form1(); .
Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь или здесь.
Доступ к элементу из другой формы
Как изменить свойство пункту contextmenustrip? делаю так, не получается General general = new.
Доступ к элементу одной формы из другой формы
Здравствуйте. Есть Form2, в конструктор которой как Owner передаётся Form1. В ходе работы Form2.
Как получить доступ к элементу одной формы из другой?
Имеется две формы, Form1, Form2. Создается экземпляр второй формы, открывается. Мне нужно.
Как из дочерней формы получить доступ к элементу управления родительской формы
Есть две формы: родительская(Form1) и дочерняя(Form2). В родительской форме(Form1) находятся.
Доступ к элементу формы
Доброго времени суток. Происходит что-то странное при доступе к plainText. В MainWindow помещен.
Доступ к элементу формы
Здравствуйте! Вопрос думаю не новый но не могу разобраться, нужно получить доступ к TreeView .
Как программно получить все элементы из формы?
Передо мной встала задача получить все элементы в форме, включая меню и строку состояния и другие у которых имеется свойство Text . Так как у каждого контрола имеется свойство Controls (и у формы соответственно тоже), то я могу использовать нижеприведённый код для получения всех контролов формы и их потомков:
Проблема заключается в том, что у меню не имеется свойства Controls и для доступа к дочерним элементам необходимо использовать свойство Items. На данный момент не нашёл ничего другого, как проверять тип. Можно ли каким либо образом единообразно получать доступ ко всем элементам формы включая дочерние?
2 ответа 2
Свойство Items содержит элементы типа ToolStripItem, а не Control. Они не унаследованы друг от друга, поэтому невозможно добавить тулстрипайтем в последовательность контролов.
Общим непосредственным предком этих классов является Component, у которого нет свойства Text . Ни один из интерфейсов, которые они реализуют, тоже не имеет такого свойства. Поэтому в лоб ваша задача не решается.
Вы пишете, что не нашли ничего другого, как проверять тип. Да, тип придётся проверять в любом случае. Можно делать это внутри вашего метода и прямо там же выполнять необходимые действия.
Но если хочется внутри метода лишь найти все необходимые объекты, а действия с ними произвести снаружи, то могу предложить следующий код:
Здесь мы получаем последовательность типа Component , хотя с таким же успехом это могут быть object — в любом случае далее придётся проверять их тип.
Можно избежать ручной проверки типов, используя dynamic :
Это более-менее рабочий код, но остаётся много вопросов. Например, ToolStrip может содержать ToolStripDropDownButton, который не имеет свойства Items , но имеет DropDownItems . Сильно подозреваю, что по ним вы тоже хотели бы пройтись.
Всё это наводит на мысли, что вы не с той стороны подходите к решению некоей своей проблемы.
А вообще, я бы сделал два (или больше, с учётом DropDown ов) метода, один из которых возвращал бы Control , другой ToolStripItem , третий — ToolStripDropDownItem .