Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > .NET Frameworks (точка нет фреймворки) > Общие вопросы .NET
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 05.05.2008, 07:59   #1
RIO
Форумчанин
 
Аватар для RIO
 
Регистрация: 15.12.2007
Сообщений: 422
По умолчанию Обращение ко второй форме

Помогите пожалуйста . . . При запуске первой формы, выполняется такое вот действие :

private void MSMain_Shown(object sender, EventArgs e)
{
Global.PPage.Checked = true;
}

PPage это - public static CheckBox PPage; (Который лежит на второй форме и во второй форме в коде он инициализируется как - Global.PPage = checkBox1

Так, когда я запускаю Exe файл появлеется ошибка, я так понял, что как бы нельзя обратится к компоненту который лежит на другой форме или что-то в этом роде, помогите пожалуйста, как справится с этим траблом !
RIO вне форума Ответить с цитированием
Старый 05.05.2008, 08:03   #2
RIO
Форумчанин
 
Аватар для RIO
 
Регистрация: 15.12.2007
Сообщений: 422
По умолчанию

Вот сама ошибка :

Object reference not set to an instance of an object
RIO вне форума Ответить с цитированием
Старый 06.05.2008, 19:17   #3
НЕ_АЙС
Форумчанин
 
Регистрация: 18.04.2007
Сообщений: 135
По умолчанию

Прежде чем обращаться к содержимому формы нужно создать объект класса формы. А также в CS файле дизайнера формы поменять private на public рядом с объявлением контролов.
А вообще для удобства я делаю так:
1. Завожу файл с объявлениями форм

namespace MailClient.DialogPool
{
public static class Dialogs
{
private static Form2 form2;

public static Form2 SecondForm
{
get
{
if (form2== null) form2 = new Form2();
return form2;
}
}
}
}


А вот код на первой форме

private void toolStripButton2_Click(object sender, EventArgs e)
{
Dialogs.SecondForm.label1.Text = "fuck";
Dialogs.SecondForm.ShowDialog();
}


Но чтобы обратиться к label1 нужно обязательно в файле Form2.Designer.cs строку
private System.Windows.Forms.Label label1;
поменять на
public System.Windows.Forms.Label label1;
НЕ_АЙС вне форума Ответить с цитированием
Старый 07.05.2008, 00:48   #4
RIO
Форумчанин
 
Аватар для RIO
 
Регистрация: 15.12.2007
Сообщений: 422
По умолчанию

Спасибо Очень помог
RIO вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Обращение к фаилу Devourer12345 Microsoft Office Excel 8 23.07.2008 11:38
Обращение Акашаев Нурлан Общие вопросы Delphi 5 26.06.2008 16:02
Обращение в i-тому обьекту Airou Компоненты Delphi 8 10.04.2008 03:14
Обращение к компонентам из цикла satana Общие вопросы Delphi 4 16.07.2007 12:16
MouseDown: обращение к правой кнопке мыши ZhekON Общие вопросы Delphi 2 11.05.2007 19:17