با سلام به همه دوستان...
یک MSFlexGrid دارم و باید مقداری اطلاعات عددی رو واردش کنم ; تعداد ستونها معلوم اما تعداد سطرها نامعلومند.
با چه دستوری میشه یک سطر رو به این MSFlexGrid اضافه کنم؟
...
توسط متد AddItem، این متد یک پارامتر string به عنوان مقادیر موجود در ستون های یک سطر و همچنین یک
پارامتر اختیاری برای مشخص کردن شماره سطری که اطلاعات در آن اضافه می شوند دریافت می گردد.
اگر این پارامتر را وارد نکنید، درج در آخرین سطر جدول انجام می شود.
مثلا اگر بخواهیم مقدار 12 را در سطر 6 ام یک جدول تک ستونی قرار دهیم خواهیم نوشت :
کد:
MSFlexGrid1.AddItem "12", 6
اگر تعداد ستون های یک جدول پیش از یک ستون باشد، بین مقادیر آنها از کاراکتر vbTab استفاده می کنیم،
مثلا در کد زیر مقدار سه ستونی one و two و three را به عنوان آخرین سطر اضافه می کند :
کد:
MSFlexGrid1.AddItem "one" & vbTab & "two" & vbTab & "three"
فکر میکنم اگه این MSFlexGrid داخل یک فرم دیگه باشه , بعد از یکبار فراخوانی و بستن اون فرم اطلاعات داخلش پاک میشن; چه کار کنم که دیگه اطلاعات پاک نشه؟
بله، هر زمان که فرمی بسته شود و دیگر کد اجرایی یا شیء ای از داخل آن فراخوانی نشود، رخداد Unload آن
فرم اجرا می گردد و تمامی حافظه مصرف شده توسط آن فرم و اجزایش آزاد می گردد، اطلاعات MSFlexGrid
هم با چنین مشکلی مواجه می شوند.
راه حل این است که تا زمانی که حقیقتا قصد خروج از برنامه را دارید، اجازه Unload شدن فرم را ندهید
و صرفا انرا از دید پنهان کنید (Visible = False)
در مثال زیر جلوی Unload شدن فرم گرفته می شود به شرطی که مشخصه Tag در فرم، تهی باشد :
کد:
Private Sub Form_Unload(Cancel As Integer)
If Len(Me.Tag) = 0 Then
Cancel = True
Visible = False
End If
End Sub
همواره می توانید برای خروج از برنامه از دستور End استفاده کنید، در غیر اینصورت،
دقت کنید که اگر بخواهید از برنامه بدون مشکل خارج شوبد، بایستی فرم بتواند Unload شود، پس طبق
شرط مقدار Me.Tag (مشخصه Tag از فرم) را به عبارتی مانند "close" تغییر دهید :