2015-04-14 10 views
-1

Мне нужно получить доступ к значениям текстового поля, которые находятся в Form1 из Module1 в моей программе VB.net. Мне показалось, что я где-то читал, что вы можете сделать свой контроль общедоступным, а затем вы можете получить доступ к значениям. Я пробовал это, но он не работает. Что мне нужно сделать?Значения контроля доступа от модуля vb.net

Вот мой код:

Module Module1 
    Dim connectionMaster = New ConnectionMaster() 
    Dim uname As String 
    Dim pw As String 

    Dim frmInstance As Form2 
    frmInstance = New Form2 
    uname = frmInstance.Username 
    pw = frmInstance.Password 

Имя пользователя и пароль в Form2. Когда я пытаюсь построить это, я получаю сообщения об ошибке «Значение типа„System.Windows.Forms.TextBox“не может быть преобразован в„String“»

Я изменил выше:

uname = frmInstance.Username.text 
pw = frmInstance.Password.text 

и теперь это работает!

+0

'Я попробовал это, что именно вы попробовали? См. [Ask] – Plutonix

+0

. Вы делаете это неправильно. Попробуйте объяснить, что вам нужно, чтобы появился реальный ответ. – OneFineDay

+0

Вы должны использовать уровень доступа к данным DAL. Должен быть класс, в котором вы передаете эти данные, чтобы попытаться инициализировать соединение - затем выполните запросы. – OneFineDay

ответ

0

Один простой способ сделать это - создать 2 общедоступных объекта в вашем модуле.

Private _name As String 

Public Property UserName() As String 
    Get 
     Return _username 
    End Get 
    Private Set(ByVal value As String) 
     _username = value 
    End Set 
End Property 

Тогда в вашей форме при вызове вашего модуля вам просто нужно передать значение модулю.

+0

Вы не инициализируете модули. – OneFineDay

+0

Да, это правильно, немного опечатка при наборе текста, думая о Классах. :) –

+0

Кажется, что у OP есть то, что я бы назвал слоем DAL, и он должен быть классом, а не модулем вообще. IMO – OneFineDay

Смежные вопросы