نمایش نتایج 1 تا 6 از 6

نام تاپیک: استفاده از خصوصیت Tag کنترلها جهت اعمال Enabled,Visible, ... بروی کنترلهای یک فرم بصورت گروهی

  1. #1
    مدیر بخش آواتار Abbas Amiri
    تاریخ عضویت
    فروردین 1390
    محل زندگی
    اصفهان
    پست
    2,327

    استفاده از خصوصیت Tag کنترلها جهت اعمال Enabled,Visible, ... بروی کنترلهای یک فرم بصورت گروهی

    با استفاده ازخصوصیت Tag یک گروه از کنترلها می توان آنها را از گروه دیگر تشخیص داده و با استفاده از آن ، به خصوصیت های تعدادی از کنترلهای بخصوص در یک فرم مقادیری منتسب کرد . به طور مثال ممکن است شما بخواهید تعدادی از کنترلهای یک فرم که جهت مصارف ویژه ای تعبیه شده اند را مخفی یا نمایان و Enable یا disable ویا ... کنید در اینحالت بجای اینکه خصوصیت مورد نظر کنترله را تک تک به آنها اعمال کنید با استفاده از خصوصیت Tag و روال زیر به آسانی قابل انجام است.
    برای اینکه خصوصیت Tag تعدادی ازکنترلها را مقداردهی کنید کافیست آنهارا انتخاب کرده ودر Properties>>Other در آخرین ردیف خصوصیت تگ آنهارا مقدار بدهید


    Public Enum prpAction
    Enabled
    Visible
    Locked
    TabStop
    Value
    End Enum

    ' درزمان فراخواني زيرروال جهت
    'Enabled , Visible
    ' فوکوس روي کنترل مشمول تغيير نباشد
    Sub SetPrpOfCtrlGroup(frm As Form, Action As prpAction, _
    varSet, Tag As String, Optional blnInverseOthers As Boolean = False, Optional CtlType As AcControlType = -1)
    On Error Resume Next
    Dim ctl As Control
    Dim TagMatch As Boolean
    'Dim ctlFocusTag As String
    'ctlFocusTag = Screen.ActiveForm.ActiveControl.Tag
    'If CBool(InStr(Tag, ctlFocusTag)) And Not (ctlFocusTag = "") Then
    ' MsgBox "فوکاس روي کنترل " & vbCr & Screen.ActiveForm.ActiveControl.Name & _
    ' vbCr & " است وامکان تغيير خصوصيت مورد نظر روي اين کنترل وجودندارد", vbMsgBoxRight
    'End If
    For Each ctl In frm.Controls
    TagMatch = CBool(InStr(Tag, ctl.Tag)) And Not (ctl.Tag = "")
    If (ctl.ControlType And CtlType) And TagMatch Then
    Select Case Action
    Case Enabled
    ctl.Enabled = varSet
    Case Locked
    ctl.Locked = varSet
    Case Value
    ctl.Value = varSet
    Case Visible
    ctl.Visible = varSet
    Case TabStop
    ctl.Visible = varSet
    End Select
    ElseIf blnInverseOthers Then
    Select Case Action
    Case Enabled
    ctl.Enabled = Not varSet
    Case Locked
    ctl.Locked = Not varSet
    Case Visible
    ctl.Visible = Not varSet
    Case TabStop
    ctl.TabStop = Not varSet
    End Select
    End If
    Next
    End Sub


    مثال ها:

    SetPrpOfCtrlGroup Me, Enabled, False, "2"
    ' کنترلهایی که مقدار تگ آنها برابر 2 است خصوصیت
    ' Enabled آنها False میشود
    SetPrpOfCtrlGroup Me, Visible, True, "12", True
    ' کنترلهایی که مقدار تگ آنها برابر 1ویا2 است خصوصیت
    ' Visible آنها True میشود
    ' وبقیه کنترلها مخفی میشوند
    SetPrpOfCtrlGroup Me, Value, Null, "1234", False, (acTextBox Or acComboBox Or acListBox)
    کنترلهایی که مقدار تگ آنها برابر 1ویا2ویا3ویا4 وازنوع
    ' TextBoxیا ComboBox یا ListBox
    ' مقدار آنهاNull میشود



    اگر میخواهید مثل مثالهای 2 و 3 چند تگ را همزمان داشته باشید از مقادیر تک کارکتری جهت خصوصیت Tag استفاده کنید (مانند اعداد 0-9 و حروف a-z)
    آخرین ویرایش به وسیله Abbas Amiri : سه شنبه 13 بهمن 1394 در 11:11 صبح دلیل: پاک کردن تگ های html

  2. #2
    مدیر بخش آواتار Abbas Amiri
    تاریخ عضویت
    فروردین 1390
    محل زندگی
    اصفهان
    پست
    2,327

    نقل قول: استفاده از خصوصیت Tag کنترلها جهت اعمال Enabled,Visible, ... بروی کنترلهای یک فرم بصورت گرو

    مثال جهت خصوصیت Tag برای چندکنترل

    TagXmpl.JPG

  3. #3
    منتظر تایید آدرس ایمیل
    تاریخ عضویت
    آبان 1388
    پست
    407

    نقل قول: استفاده از خصوصیت Tag کنترلها جهت اعمال Enabled,Visible, ... بروی کنترلهای یک فرم بصورت گرو

    با سلام و عرض تشكر از جناب اميري بخاطر آموزش جديدشان
    يك سؤال:
    آيا استفاده از خصوصیت Tag برای چندکنترل ، غير از حالتهاي visible ، enable و null ميتوان براي تغيير رنگ يا تغيير فونت چند كنترل با tag مساوي استفاده كرد؟
    با تشكر

  4. #4
    مدیر بخش آواتار Abbas Amiri
    تاریخ عضویت
    فروردین 1390
    محل زندگی
    اصفهان
    پست
    2,327

    نقل قول: استفاده از خصوصیت Tag کنترلها جهت اعمال Enabled,Visible, ... بروی کنترلهای یک فرم بصورت گرو

    بله خصوصیتهایی که درحالت RunTime قابل تغییر هستند را میتوان تغییرداد مانند: ForeColor, BackColor, FontSize, FontBold وغیره . برای سهولت خصوصیتهای مورد نیاز را به لیست Enumeration اضافه کنید (Enum PrpAction)
    ودر دستور Select Case هم باید اضافه شوند

  5. #5

    نقل قول: استفاده از خصوصیت Tag کنترلها جهت اعمال Enabled,Visible, ... بروی کنترلهای یک فرم بصورت گرو

    با سلام
    آیا میشه با استفاده از ماژول جناب امیری ، در رویداد کلیک یک باتون دستوری نوشت که مثلاً کنترلهایی که Tag آنها برابر با 1 و 2 است مقدار آنها برابر با Null نباشد .

    یعنی اگر کنترلهای مذکور خالی شدند و کاربر یادش رفت تکمیل کنه یه هشدار برگردونه . و مجبور نباشیم برای هر کنترل جداگانه دستور بنویسیم

  6. #6
    مدیر بخش آواتار Abbas Amiri
    تاریخ عضویت
    فروردین 1390
    محل زندگی
    اصفهان
    پست
    2,327

    نقل قول: استفاده از خصوصیت Tag کنترلها جهت اعمال Enabled,Visible, ... بروی کنترلهای یک فرم بصورت گرو

    نقل قول نوشته شده توسط G.hemati مشاهده تاپیک
    با سلام
    آیا میشه با استفاده از ماژول جناب امیری ، در رویداد کلیک یک باتون دستوری نوشت که مثلاً کنترلهایی که Tag آنها برابر با 1 و 2 است مقدار آنها برابر با Null نباشد .

    یعنی اگر کنترلهای مذکور خالی شدند و کاربر یادش رفت تکمیل کنه یه هشدار برگردونه . و مجبور نباشیم برای هر کنترل جداگانه دستور بنویسیم
    این ماژول بیشتر به درد فرم های Unbound می خوره . تا بعد از ذخیره مقادیر فیلد ها با مقادیری که ارسال می کنیم (معمولا Null) فرم آماده دریافت مقادیر جدید بشود .

    برای مورد شما باید بصورت عادی در رویداد After_Update کنترلها ، کدها مورد نظر را نوشت.

تاپیک های مشابه

  1. پاسخ: 2
    آخرین پست: سه شنبه 18 بهمن 1390, 15:52 عصر
  2. سوال: استمداد استفاده از دستور در Vb جهت Crystal Report12
    نوشته شده توسط mh_moravveg در بخش گفتگو با مسئولین سایت، درخواست و پیشنهاد
    پاسخ: 0
    آخرین پست: سه شنبه 16 مهر 1387, 09:00 صبح
  3. استفاده از خصوصیت contenttype عکس برای کنترل پسوند
    نوشته شده توسط baran110 در بخش طراحی وب (Web Design)
    پاسخ: 1
    آخرین پست: جمعه 23 فروردین 1387, 16:05 عصر
  4. کابرد خصوصیت tag
    نوشته شده توسط انگوران در بخش Access
    پاسخ: 11
    آخرین پست: دوشنبه 02 بهمن 1385, 13:18 عصر
  5. پاسخ: 6
    آخرین پست: چهارشنبه 18 مرداد 1385, 13:06 عصر

قوانین ایجاد تاپیک در تالار

  • شما نمی توانید تاپیک جدید ایجاد کنید
  • شما نمی توانید به تاپیک ها پاسخ دهید
  • شما نمی توانید ضمیمه ارسال کنید
  • شما نمی توانید پاسخ هایتان را ویرایش کنید
  •