PDA

View Full Version : نمایش و عدم نمایشTab های Tab Control



Sub Zero
دوشنبه 07 آبان 1386, 11:10 صبح
با سلام
قبل از اینکه این تاپیک رو بزنم توی سایت سرچ کردم اما چیزی در مورد اینکه چطوری میشه Tab های Tab Control رو فعال یا غیر فعال کنم پیدا نکردم . اصلا انگار Tab های Tab Control خاصیتی به نام Visible یا حداقل Tab Visible نداره .
علی رغم میلم مجبور شدم از کامپوننت استفاده کنم .
دوستان در این زمینه نظری یا پیشنهادی ندارن .

MohammadSoft
سه شنبه 08 آبان 1386, 00:29 صبح
سلام
من هم چیزی پیدا نکردم .
ولی شاید بتونید با بازی کردن با Event های Tabpage مانع دسترسی به یک Tabpage خاص بشید .

Sub Zero
سه شنبه 08 آبان 1386, 00:46 صبح
سلام
من هم چیزی پیدا نکردم .
ولی شاید بتونید با بازی کردن با Event های Tabpage مانع دسترسی به یک Tabpage خاص بشید .
تمام Event ها - Property ها رو چک کردم حتی یه Focus ساده رو هم نمی شد انجام داد .
با متد Select تب مورد نظرم رو انتخاب میکردم اما نمایش نمیداد . خلاصه کلی باهاش کلنجاررفتم
احتمالا این یه باگه مربوط به خود ویژوال استدیو هستش که در اثر کرک شدن به وجود اومده
به هر حال ممنون میشم اگه بقیه دوستان هم تجربیاتشون رو در این زمینه در اختیارم بذارن

amirsajjadi
سه شنبه 08 آبان 1386, 09:25 صبح
احتمالا این یه باگه مربوط به خود ویژوال استدیو هستش که در اثر کرک شدن به وجود اومده
کاربر Sub Zero ؛ باگ نیست ، اصلا مایکروسافت خاصیت Enable رو توی هیچ TabControl ی قرار نداده
این تابع (API) رو این جا میزارم خودتون برید امتحان کنید :
کار این تابع اینه که شما Handle هر کنترلی ، چه در دات نت و چه در ویندوز رو بدید اونو Enable میکنه

Private Declare Function IsWindowEnabled Lib"user32" (ByVal hwnd As Integer) As Integer
Private Declare Function EnableWindow Lib"user32" (ByVal hwnd As Integer, ByVal fEnable As Integer) As Integer

Private Sub Change_Enable(ByVal Hwnd As IntPtr)
Dim wasenabled As Long
Dim retval As Long
wasenabled = IsWindowEnabled(Hwnd.ToInt32)
If wasenabled = 0 Then' if not enabled, enable it
retval = EnableWindow(Hwnd.ToInt32, 1)
Else' if enabled, disable it
retval = EnableWindow(Hwnd.ToInt32, 0)
End If
End Sub

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Change_Enable(CType(&HA087E, IntPtr))
EndSub

Sub Zero
سه شنبه 08 آبان 1386, 14:36 عصر
کاربر Sub Zero ؛ باگ نیست ، اصلا مایکروسافت خاصیت Enable رو توی هیچ TabControl ی قرار نداده
من باگ رو به خاطر اینکه حتی نمیتونم از متدهای تعریف شده مثل Select استفاده کنم گفتم .
میشه Tab ها رو به صورت RunTime ایجاد و Dipose کرد اما اگه توی خود Tab ها کنترلهای دیگه باشه کار کمی سخت می شه و به صرفه تر اینه که از یه کامپوننت استفاده کنم .
به هر حال از راهنماییتون ممنونم .