PDA

View Full Version : سوال: خطای لود شدن فرم درگیر با یک کلاس



hrj1981
یک شنبه 24 آبان 1388, 11:11 صبح
سلام
دوستان من برای خلاصی از کد نویسی ممتد برای کنترل تکس باکس یک کلاس نوشته ام که بوسیله آن یکی سری رویداد های تکس باکس رو بصورت اتوماتیک فراخوانی می کنم.مثلا تعویض رنگ هنگام فوکوس و بر عکس و یا رویداد فشردن کلید.
کدهای کلاس

Option Explicit
Dim WithEvents MyText As TextBox
Public Property Set Text_C(TXTobject As Object)
If TypeOf TXTobject Is TextBox Then
Set MyText = TXTobject
End If
End Property
Private Sub MyText_KeyPress(KeyAscii As Integer)
If KeyAscii = vbKeyReturn Then
KeyAscii = 0
End If
End Sub
Private Sub MyText_GotFocus()
MyText.SelStart = 0
MyText.SelLength = Len(Trim(MyText.Text))
MyText.BackColor = 12648447
MyText.Appearance = 0
End Sub
Private Sub MyText_LostFocus()
MyText.SelStart = 0
MyText.BackColor = vbWhite
MyText.Appearance = 1
End Sub
و بعد درون هر فرم به تعداد تکس باکس ها یک متغییر از این کلاس تعریف می کنم

Dim TXT(1 To 10) As New Text_CTRL
و سپس اونها را در رویداد Load فرم با تکس باکسهای داخل فرم ست می کنم

Set TXT(1).Text_C = Text1
این کار خیلی مشغله فکری من را کم کرده ولی در یک پروژه چند فرمی وقتی یک فرم را برای اولین بار فراخوانی می کنم هیچ مشکلی نداره و بعد از خارج شدن از فرم و فراخوانی مجدد سیستم عامل خطای نوشتن در حافظه رو میده ، از دوستان محترم کسی میتونه راهنمایی کنه و یا پیشنهاد بهتری به من ارائه کنه.