0 / 0 / 0
Регистрация: 07.02.2013
Сообщений: 13
|
|
1 | |
Редактироваь объекты на другой форме25.06.2013, 19:19. Показов 1087. Ответов 12
Метки нет (Все метки)
Помогите пожалуйста. Нужно сделать так чтобы при нажатии кнопки на одной форме редактировались обьекты на другой:
private void button1_Click(object sender, EventArgs e) { Form3 f3 = new Form3(); this.Close(); Form1 f1 = new Form1(); f1.comboBox1.Text = ""; f1.textBox8.Text = ""; f1.textBox9.Clear(); f1.textBox2.Clear(); f1.checkBox1.Checked = false; } Так не получается.
0
|
25.06.2013, 19:19 | |
Ответы с готовыми решениями:
12
Редактировать объекты на другой форме Динамические объекты на другой форме Нажав кнопку на одной форме поменять свойство другой кнопки на другой форме Одна кнопка на одной форме, активирует другую на другой форме |
28 / 23 / 8
Регистрация: 25.10.2009
Сообщений: 259
|
|
26.06.2013, 13:26 | 2 |
Объясните первые 2 строчки. Что за Form3 и зачем this.Close()?
Далее, так естественно ничего не получится. Вариантов мне видится 2, один простой, но не хороший, второй чутка сложнее, но лучше. 1 вариант: нужно все члены второй формы, которые Вы хотите редактировать, сделать Public тогда Ваш код заработает без каких либо изменений. Это самый простой вариант, но не самый лучший с точки зрения принципов ООП. 2 вариант: написать на второй форме публичные методы для редактирования объектов на ней. Можно для каждого объекта написать свой метод или даже набор методов, а можно заморочиться и написать один общий. Мне кажется есть варианты и по лучше, но я пока ещё волшебник, я только учусь Добавлено через 15 минут *не волшебник Только сейчас заметил, Вы же создаёте экземпляр формы, т.е. речь не совсем о редактировании объектов на второй форме, скорее об инициализации. В таком случае, лучше сделать это через конструктор второй формы. В любом случае советую ознакомиться с темой: Ответы на 7 самых частых вопросов по WinForms
0
|
0 / 0 / 0
Регистрация: 31.10.2012
Сообщений: 27
|
|
26.06.2013, 14:03 | 3 |
и кое-что ещё, у объектов на форме, к которой нужен доступ, меняйте свойство Modifers на public
0
|
0 / 0 / 0
Регистрация: 07.02.2013
Сообщений: 13
|
|
26.06.2013, 17:36 [ТС] | 4 |
this.Close нужен для того, чтобы закрыть текущую форму.
Объекты у меня public, естественно. Это меня и смущает. Что касаемо второго варианта: я попробовал создать метод в первой форме: public void clearity() { comboBox1.Text = ""; textBox8.Text = ""; textBox9.Clear(); textBox2.Clear(); checkBox1.Checked = false; } А во второй: private void button1_Click(object sender, EventArgs e) { Form3 f3 = new Form3(); this.Close(); Form1 f1 = new Form1(); f1.clearity(); } Все равно не помогает. Я в тупике.
0
|
28 / 23 / 8
Регистрация: 25.10.2009
Сообщений: 259
|
|
26.06.2013, 17:56 | 5 |
Так что же всё-таки такое Form3? И всё таки меня немного смущает закрытие текущей формы. По крайней мере попробуйте закрывать её после изменений, а не до.
Добавлено через 4 минуты И ещё один момент меня смущает, Вы как проверяете, что объекты на форме Form1 не изменились? Что-то мне подсказывает, что именно здесь и прячется проблема.
0
|
54 / 54 / 10
Регистрация: 28.06.2012
Сообщений: 224
|
|
26.06.2013, 19:22 | 6 |
0
|
4 / 4 / 0
Регистрация: 17.06.2013
Сообщений: 19
|
|||||||||||
26.06.2013, 19:56 | 7 | ||||||||||
подождите, непонятно во-первых объектом какой формы является button1. Понятно, что после
Могу посоветовать перенести эту строку в конец функции.
0
|
93 / 94 / 51
Регистрация: 19.06.2013
Сообщений: 323
|
|
27.06.2013, 11:50 | 8 |
@GM-JD, ответ на Ваш вопрос есть в разделе "Ответы на 7 самых частых вопросов по WinForms" Пункт №2
0
|
154 / 153 / 29
Регистрация: 21.05.2010
Сообщений: 338
|
||||||
27.06.2013, 13:39 | 9 | |||||
@GM-JD,
0
|
154 / 153 / 29
Регистрация: 21.05.2010
Сообщений: 338
|
|
27.06.2013, 13:46 | 10 |
@GM-JD, как-то так: ChangeFormControls.rar
0
|
0 / 0 / 0
Регистрация: 07.02.2013
Сообщений: 13
|
|||||||||||
27.06.2013, 21:29 [ТС] | 11 | ||||||||||
Я пытаюсь сделать окно подтверждения удаления. На первой форме есть объекты, которые заполняются данными. Эти данные при желании можно удалить, нажатием кнопки. После нажатия кнопки выходит окошко (Form3) "Вы действительно хотите удалить введенные данные?". Нажимаем на "ОК" и тут окошко должно закрыться, а объекты на первой форме очиститься.
У меня окошко закрывается, а данные на первой форме остаются. Добавлено через 2 минуты Ну я пробовал закрывать Form3 в последнюю очередь:
Добавлено через 4 минуты Я попробовал так:
0
|
54 / 54 / 10
Регистрация: 28.06.2012
Сообщений: 224
|
||||||
27.06.2013, 21:59 | 12 | |||||
@GM-JD, попробуйте сделать ваш метод статическим, и вызывать его в случае подтверждения как
0
|
0 / 0 / 0
Регистрация: 07.02.2013
Сообщений: 13
|
|
29.06.2013, 17:41 [ТС] | 13 |
спасибо всем за помощь. Реализовал это с помощью MessageBox. С формой так и не получилось.
0
|
29.06.2013, 17:41 | |
29.06.2013, 17:41 | |
Помогаю со студенческими работами здесь
13
Добавление текста из TextBox на одной форме в ComboBox на другой форме Поле со списком в одной форме преобразовать в переключатель в другой форме Использование переменных, объявленных в одной форме, в другой форме Объекты не рисуются на форме Не отображаются объекты на форме Кнопка в форме и объекты Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |