2009-12-08 2 views
0

В попытке очистить мой код я попытался поместить все мои функции и подпрограммы в модуль. Одна из этих подпрограмм заполнила сетку RichTextBoxes данными из базы данных MS Access. Он работал, когда подпрограмма была в том виде, в котором она использовалась, но не в моем модуле. Есть ли какая-то конкретная причина для этого? Я заметил, при попытке использовать RichTextBox в коде сказал мне нужно было определить, поэтому я пошел вперед и добавил это в верхней части моего модуля:Добавление текста в RichTextBox из модуля

Dim mon1 As New RichTextBox 
Dim mon2 As New RichTextBox 
Dim mon3 As New RichTextBox 
Dim mon4 As New RichTextBox 
Dim mon5 As New RichTextBox 

Это фактически не положить любой текст в RichTextBoxes в моей форме и подпрограмма не отбросили ошибку. Я попытался изменить его с Dim на Public, и он делает то же самое.

Может ли кто-нибудь пролить свет на это? Благодарю.

ответ

0

Вам просто нужно ссылаться на него в своем модуле как Form1.RichTextBox1 (очевидно, замените эти заполнители фактическими свойствами имени вашей формы и элементами управления richtextbox).

Предполагается, что вы имеете в виду VB.NET.

Объявление нового элемента управления RichTextBox в вашем модуле не поможет вам ссылаться на те, которые вы уже разместили в своей форме, редактором Visual Studio или объявлены в коде вашей формы.

Есть ли какие-либо конкретные причины для этого?

Причина подпрограмма не работает в модуле просто, что переменные RichTextBox не видны в этой области.

+0

Привет, спасибо за ответ. Как я могу это сделать? Я пробовал Dim 'mon1 As New frmmain.RichTextBox' и несколько альтернатив. И да, это для VB.NET. Благодарю. – Joseph

+0

1. Удалите все «Dim mon1 as new ...», которые вы вложили в свой модуль. – 2009-12-08 19:31:20

+0

2. В подпрограмме, где вы видите имя переменной richtextbox, замените ее на «frmMain.RichTextBox», где frmMain - это имя формы, которую вы создали, а RichTextBox - это имя RichTextBox в форме. – 2009-12-08 19:32:26

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