Страница: 1 | 
		
		 
			   
			 
			 Form2.Show() Так открывается вторая форма проекта из главной формы. Хочу обратиться из второй формы к главной и в зависимости от выбора пользователя делать элементы главной формы видимыми или наоборот.   Private Sub NumericUpDown1_... Dim frmMain As New Form1() ' как только добавляю эту строку - проект вообще не хочет грузиться!!! как-будто я его и не запускала.  frmMain.TextBox1.Visible =  Как же управлять элементами главной формы???? Наверно я что-то не то делаю..    
			 
			 Не нужно новый экземпляр Form1 создавать, тык как не знает какой стартовый оригинал или копия. Я так и подумала - он в Load первой(главной) формы не заходит.  Тык по другому я не могу к элементам управления нужной формы обращаться.. объявление Dim frmMain As Form1() ничего не дает.    Паш, спавибо тебе. Я 3-ий способ взяла. Все работает.  Только объясни мне как такое может быть:  Form1.MainForm.TextBox6.Visible = False  ' работает End Sub А если так :  Я добавляю новую форму. А в другой форме делаю вызов Form2.Show() но происходит ошибка. Как нужно правильно обьявить? Как раз тебе и надо то, что Пашка вложил в пунктах.    Я всегда вот так делала:  Public form2 As New frmPar() Form2.Show()   Страница: 1 | 
 
			
 
  
		
     
  
    
Вопрос: .NET: обращение к элементам другой формы
     
    
Добавлено: 18.02.04 10:10
     
      
  
				
			  
					 
			
				 
    
		
       
    
Автор вопроса:  
    
 Svetlana | ICQ: 262385618 
      
       
  
Public form2 As New frmPar() 
    ![]()
				
		
		
					 
			
				 
  
		
     
  
    
Ответы
     
    
Всего ответов: 7
     
      
  
		
	  
			 
	
		 
    
       
    
Номер ответа: 1 
      
Автор ответа:
 VladDor
![]()
![]()
![]()
![]()
![]()
Вопросов: 17
Ответов: 47
      
 Профиль |  | #1
       
Добавлено:  18.02.04 10:19
       
    
       
  
 
    
		
	  
			 
	
		 
    
       
    
Номер ответа: 2 
      
Автор ответа:
 Svetlana
![]()
![]()
ICQ: 262385618 
Вопросов: 43
Ответов: 205
      
 Профиль |  | #2
       
Добавлено:  18.02.04 10:33
       
    
       
  
 
    
		
	  
			 
	
		 
    
       
    
Номер ответа: 3 
      
Автор ответа:
 Павел
![]()
![]()
![]()
![]()
![]()
![]()
Администратор
ICQ: 326066673 
Вопросов: 368
Ответов: 5968
      
 Web-сайт:  
 Профиль |  | #3
      
Добавлено:  18.02.04 10:35
       
    
       
  
Тут нужно понять саму идеолгоию ООП... 
    
В общем, этот вопрос на разных форумах встречается нередко... Вот
несколько возможных вариантов решения:
1. Передавать ссылку на главную форму в конструкторе. Тогда нужно
объявить в подчинённой форме приватную переменную:
Private MainForm As Form
, а конструктор подчинённой формы изменить таким образом:
    Public Sub New(ByVal MainForm As Form)
        Me.MainForm = MainForm
        MyBase.New()
        InitializeComponent()
    End Sub
Создаём подчинённую форму вот так:
Dim f As New Form2 (Me)
f.Show
А из подчинённой формы к родительской так обращаемся:
MainForm. ...
2. Способ похож на первый... В подчинённой форме объявляем публичную (!)
переменную:
Public MainForm As Form
Подчинённую форму создаём так:
Dim f As New Form2
f.MainForm = Me
f.Show
Обращаемся из подчинённой формы к родительской так же, как и в пункте 1.
3. Используем Shared члены... В родительской (!) форме объявляем:
Public Shared MainForm As Form
В родительской форме перед созданием подчинённой формы (а лучще
где-нть при загрузке формы) пишем:
Form1.MainForm = Me
Из подчинённой формы обращаемся к родительской так:
Form1.MainForm. ...
		
	  
			 
	
		 
    
       
    
Номер ответа: 4 
      
Автор ответа:
 Svetlana
![]()
![]()
ICQ: 262385618 
Вопросов: 43
Ответов: 205
      
 Профиль |  | #4
       
Добавлено:  18.02.04 11:45
       
    
       
  
 
    
Additional information: Object reference not set to an instance of an object.
		
	  
			 
	
		 
    
       
    
Номер ответа: 5 
      
Автор ответа:
 Павел
![]()
![]()
![]()
![]()
![]()
![]()
Администратор
ICQ: 326066673 
Вопросов: 368
Ответов: 5968
      
 Web-сайт:  
 Профиль |  | #5
      
Добавлено:  18.02.04 11:54
       
    
       
  
То ли MainForm, то ли TextBox6 на момент выполнения этой строчки имеют 
    
значение Nothing. Проверь в Debugger'е...
		
	  
			 
	
		 
    
       
    
Номер ответа: 6 
      
Автор ответа:
 Mikhael
![]()
![]()
ICQ: 138809268 
Вопросов: 15
Ответов: 14
      
 Профиль |  | #6
       
Добавлено:  18.02.04 12:20
       
    
       
  
 
    
У меня вопрос по теме:
		
	  
			 
	
		 
    
       
    
Номер ответа: 7 
      
Автор ответа:
 Svetlana
![]()
![]()
ICQ: 262385618 
Вопросов: 43
Ответов: 205
      
 Профиль |  | #7
       
Добавлено:  18.02.04 13:45