2009-12-08 3 views
0

내 코드를 정리하기 위해 모든 함수와 서브 루틴을 모듈에 넣으려고했습니다. 이러한 서브 루틴 중 하나는 MS Access 데이터베이스의 데이터로 RichTextBox의 그리드를 채 웁니다. 서브 루틴이 사용 된 형태이지만 내 모듈에는 사용되지 않았을 때 작동했습니다. 특별한 이유가 있습니까? 그것은 내가 그것을 정의하는 데 필요한 말했다 코드의를 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 내 양식 및 서브 루틴에 대한 오류를 다시 throw하지 않았습니다. 나는 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 ..."를 모두 제거하십시오. –

+0

2. richtextbox 변수 이름을 볼 수있는 서브 루틴에서 "frmMain.RichTextBox"로 바꿉니다. 여기서 frmMain은 만든 양식의 이름이고 RichTextBox는 양식의 RichTextBox 이름입니다. –