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

نام تاپیک: مخفی شدن کنترل های سمت راست فرم در حالت ریستور شدن فرم

  1. #1

    مخفی شدن کنترل های سمت راست فرم در حالت ریستور شدن فرم

    سلام خدمت اساتید عزیز
    در فایل ضمیمه فرمی قرار دارد که در قسمت عنوان اون تعدادی تکست باکس با عناوین مربوطه و یک لیست باکس در قسمت دیتیل فرم وجود دارد
    خصوصیت HorizontalAnchor تکست باکس ها با لیبل های اونها در حالت Right تنضیم شده
    اندازه سمت چپ لیست باکس صفر و اندازه عرض اون معادل عرض فرم یا Me.InsideWidth تنضیم شده
    اگر خصوصیت HorizontalAnchor لیست باکس رو در حالت Both قرار بدهیم و در رویداد Form_Resize اندازه عرض اون رو تعیین نکنیم کنترل های فوق در حالت ماکسیمایز و ریستور شدن اون در قسمت سمت راست فرم قابل مشاهده می باشند ولی اگر اندازه عرض لیست باکس رو معادل Me.InsideWidth قرار بدهیم وقتی فرم ماکسیمایز میشود و بخواهیم دوباره اندازه فرم رو به حالت اول دربیاوریم کنترهای فوق قابل مشاهده نمی باشند .
    با توجه به توضیحات بالا آیا راهی وجود دارد که اگر اندازه عرض لیست باکس رو معادل Me.InsideWidth تعیین شود موقعیت کنترها در سمت راست فرم در هر حالتی حفظ شود و قابل مشاهده باشند ؟ چون به دلایلی میخواهم تغییر عرض لیست باکس صرفاً از طریق تعیین اندازه اون صورت بگیره نه از طریق خصوصیت HorizontalAnchor
    با تشکر
    عکس های ضمیمه عکس های ضمیمه
    • نوع فایل: png 1.png‏ (11.5 کیلوبایت, 16 دیدار)
    • نوع فایل: png 2.png‏ (13.8 کیلوبایت, 16 دیدار)
    فایل های ضمیمه فایل های ضمیمه

  2. #2
    کاربر دائمی
    تاریخ عضویت
    آذر 1387
    محل زندگی
    خراسان
    پست
    448

    نقل قول: مخفی شدن کنترل های سمت راست فرم در حالت ریستور شدن فرم

    با سلام و احترام مشکل مربوط به کد Form_Resize می باشد.
    فایل های ضمیمه فایل های ضمیمه

  3. #3

    نقل قول: مخفی شدن کنترل های سمت راست فرم در حالت ریستور شدن فرم

    نقل قول نوشته شده توسط mehdi_fiz مشاهده تاپیک
    با سلام و احترام مشکل مربوط به کد Form_Resize می باشد.
    با سلام و احترام متقابل
    ممنونم بخاطر پیگیریتون
    همونطور که در پست اول هم توضیح داده ام در حالتی که در رویداد Form_Resize اندازه عرض لیست باکس رو تعیین نکنیم و خصوصیت HorizontalAnchor اون رو برابر با Both قرار بدهیم مشکلی پیش نمیاد ولی همونطور که اشاره کرده ام در رویداد فوق میخوام اندازه عرض List1 رو از طریق List1.Width = Me.InsideWidth تنظیم بشه نه از طریق تغییر خصوصیت HorizontalAnchor


    با تشکر

  4. #4

    نقل قول: مخفی شدن کنترل های سمت راست فرم در حالت ریستور شدن فرم

    فرض بفرمائید بجای لیست باکس از لیست ویو استفاده کنیم و میخواهیم اندازه عرض ستون ها و حاشیه چپ هر ستون در لیست ویو را بدست بیاریم و اگر خصوصیت HorizontalAnchor اون رو برابر با Both قرار بدهیم اندازه عرض و حاشیه چپ یا خصوصیت left واقعی ستون ها در حالت ماکسیمایز فرم بدست نمیاد

  5. #5

    نقل قول: مخفی شدن کنترل های سمت راست فرم در حالت ریستور شدن فرم

    اساتید عزیز ! راهکاری به ذهن مبارکشون نمیرسه ؟

  6. #6
    کاربر دائمی آواتار eb_1345
    تاریخ عضویت
    مرداد 1398
    محل زندگی
    تهران
    سن
    59
    پست
    1,081

    نقل قول: مخفی شدن کنترل های سمت راست فرم در حالت ریستور شدن فرم

    نقل قول نوشته شده توسط atf1379 مشاهده تاپیک
    همونطور که در پست اول هم توضیح داده ام در حالتی که در رویداد Form_Resize اندازه عرض لیست باکس رو تعیین نکنیم و خصوصیت HorizontalAnchor اون رو برابر با Both قرار بدهیم مشکلی پیش نمیاد ولی همونطور که اشاره کرده ام در رویداد فوق میخوام اندازه عرض List1 رو از طریق List1.Width = Me.InsideWidth تنظیم بشه نه از طریق تغییر خصوصیت HorizontalAnchor


    با تشکر
    با سلام
    اگه در نظر دارین بدون استفاده از خصوصیت HorizontalAnchor کنترل های مد نظرتون رو در قسمت سمت راست فرم نمایش بدهین باید از دو تابع عمومی زیر استفاده کنین :

    Dim CTL As Control
    Public Sub SaveAnchorRightCtl(frm As Form)
    For Each CTL In frm.Controls
    If CTL.Tag = "AnchorRight" Then
    CTL.Tag = CTL.Tag & "," & frm.InsideWidth - CTL.Left
    End If
    Next CTL
    End Sub

    Public Sub ResizeAnchorRightCtl(frm As Form)
    On Error Resume Next
    Dim i As Integer
    For Each CTL In frm.Controls
    If Split(CTL.Tag, ",")(0) = "AnchorRight" Then
    CTL.Left = frm.InsideWidth - ((frm.InsideWidth - (frm.InsideWidth - Split(CTL.Tag, ",")(1))))
    End If
    Next CTL
    End Sub

    قبل از فراخوانی توابع فوق باید ابتدا در قسمت خصوصیت Tag کنترل هائی که میخواهین در سمت راست فرم قرار بگیرن کلمه AnchorRight را وارد کنین . استفاده از این کلمه در قسمت فوق بدین خاطر است که از بین همه کنترل های فرم اون کنترل هائی که قرار است در سمت راست فرم نمایش داده شوند انتخاب کنیم
    بعد از وارد کردن کلمه فوق در تگ کنترل های مد نظر حالا نوبت به فراخوانی تابع اول در رویداد Form_Load و فراخوانی تابع دوم در رویداد Form_Resize میباشه
    در تابع اول تعیین کرده ایم که از بین کنتر هایی که تگ اونها معادل کلمه AnchorRight میباشه موقعیت اولیه حاشیه سمت چپ کنترل رو در تگ کنترل ( البته با یک علامت جداکننده بعد از کلمه AnchorRight ) درج بشه
    در تابع دوم خواستیم که از بین همه کنترهای فرم اون کنترل هائی که کلمه اول خصوصیت تگ اونها AnchorRight میباشه انتخاب بشه و موقعیت ثانویه سمت چپ کنترل های فوق رو معادل تفاوت موقعیت اولیه رو از مقدار عرض فرم بدست بیاره
    فایل های ضمیمه فایل های ضمیمه

  7. #7
    کاربر دائمی آواتار eb_1345
    تاریخ عضویت
    مرداد 1398
    محل زندگی
    تهران
    سن
    59
    پست
    1,081

    نقل قول: مخفی شدن کنترل های سمت راست فرم در حالت ریستور شدن فرم

    ضماً برای سوال ثابت بودن موقعیت مکانی چند کنترل در سمت راست فرم که در همین زمینه در تالار VB6 پرسیده ای نمونه ای ضمیمه نمودم

  8. #8

    نقل قول: مخفی شدن کنترل های سمت راست فرم در حالت ریستور شدن فرم

    نقل قول نوشته شده توسط eb_1345 مشاهده تاپیک
    با سلام
    اگه در نظر دارین بدون استفاده از خصوصیت HorizontalAnchor کنترل های مد نظرتون رو در قسمت سمت راست فرم نمایش بدهین باید از دو تابع عمومی زیر استفاده کنین :

    Dim CTL As Control
    Public Sub SaveAnchorRightCtl(frm As Form)
    For Each CTL In frm.Controls
    If CTL.Tag = "AnchorRight" Then
    CTL.Tag = CTL.Tag & "," & frm.InsideWidth - CTL.Left
    End If
    Next CTL
    End Sub

    Public Sub ResizeAnchorRightCtl(frm As Form)
    On Error Resume Next
    Dim i As Integer
    For Each CTL In frm.Controls
    If Split(CTL.Tag, ",")(0) = "AnchorRight" Then
    CTL.Left = frm.InsideWidth - ((frm.InsideWidth - (frm.InsideWidth - Split(CTL.Tag, ",")(1))))
    End If
    Next CTL
    End Sub

    قبل از فراخوانی توابع فوق باید ابتدا در قسمت خصوصیت Tag کنترل هائی که میخواهین در سمت راست فرم قرار بگیرن کلمه AnchorRight را وارد کنین . استفاده از این کلمه در قسمت فوق بدین خاطر است که از بین همه کنترل های فرم اون کنترل هائی که قرار است در سمت راست فرم نمایش داده شوند انتخاب کنیم
    بعد از وارد کردن کلمه فوق در تگ کنترل های مد نظر حالا نوبت به فراخوانی تابع اول در رویداد Form_Load و فراخوانی تابع دوم در رویداد Form_Resize میباشه
    در تابع اول تعیین کرده ایم که از بین کنتر هایی که تگ اونها معادل کلمه AnchorRight میباشه موقعیت اولیه حاشیه سمت چپ کنترل رو در تگ کنترل ( البته با یک علامت جداکننده بعد از کلمه AnchorRight ) درج بشه
    در تابع دوم خواستیم که از بین همه کنترهای فرم اون کنترل هائی که کلمه اول خصوصیت تگ اونها AnchorRight میباشه انتخاب بشه و موقعیت ثانویه سمت چپ کنترل های فوق رو معادل تفاوت موقعیت اولیه رو از مقدار عرض فرم بدست بیاره
    سلام جناب آقای بهرامی
    درود بر شما
    مطمئن بودم شما بر این مورد هم راه حلی پیدا می کنی
    مثل همیشه عالی

  9. #9
    کاربر دائمی آواتار eb_1345
    تاریخ عضویت
    مرداد 1398
    محل زندگی
    تهران
    سن
    59
    پست
    1,081

    نقل قول: مخفی شدن کنترل های سمت راست فرم در حالت ریستور شدن فرم

    نقل قول نوشته شده توسط atf1379 مشاهده تاپیک
    مطمئن بودم شما بر این مورد هم راه حلی پیدا می کنی
    سلام
    کار زیاد سختی نبود .

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

  1. درست کردن این نمونه برنامه برای بکاپ و ریستور
    نوشته شده توسط nedaei در بخش Backup & Restore
    پاسخ: 1
    آخرین پست: چهارشنبه 03 آذر 1395, 12:13 عصر
  2. پاسخ: 8
    آخرین پست: چهارشنبه 26 آبان 1395, 22:46 عصر
  3. نحوه تنظیم web.config و ریستور بکاپ روی هاست
    نوشته شده توسط m3m3m3m3 در بخش ASP.NET Web Forms
    پاسخ: 0
    آخرین پست: دوشنبه 28 دی 1394, 19:28 عصر
  4. مشکل در ریستور کردن دیتابیس بر روی هاست!
    نوشته شده توسط lifeless در بخش Backup & Restore
    پاسخ: 3
    آخرین پست: سه شنبه 31 شهریور 1394, 14:02 عصر
  5. مشکل در ریستور دیتابیس در هاست (ارور میده)
    نوشته شده توسط mehrab1387 در بخش ASP.NET Web Forms
    پاسخ: 6
    آخرین پست: سه شنبه 28 آبان 1392, 19:15 عصر

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

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