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

نام تاپیک: کار با label و تغییر اندازه

  1. #1
    کاربر دائمی
    تاریخ عضویت
    اردیبهشت 1391
    محل زندگی
    خوی
    پست
    454

    کار با label و تغییر اندازه

    سلام. خسته نباشید
    یک مشکلی که لیبل داره اینه که اگه AutoSize رو برابر با True قرار بدی هر اندازه متن که وارد می کنیم فقط در راستای یک خط بزرگتر میشه حتی اگه از فرم بزنه بیرون و به خط بعدی نمی ره(البته شاید هم من بلد نیستم) و وقتی هم AutoSize رو False می کنم نمی تونم بفهمم که متن تو خط چندم قرار داره که خودم اندازه لیبل رو افزایش بدم.
    من می خوام یک لیبل داشته باشم که عرضش به اندازه عرض فرمم باشه و متن از عرض لیبل تجاوز نکنه و به خط بعدی بشکنه و نسبت به اندازه متنی که دارم و اینکه چند خطه ارتفاع لیبلم تغییر کنه.
    لطفا راهنمایی بکنید.
    قبلا از لطفتون بسیار ممنونم

  2. #2
    کاربر دائمی
    تاریخ عضویت
    دی 1383
    محل زندگی
    اصفهان
    پست
    1,436

    نقل قول: کار با label و تغییر اندازه

    چیدمان فرم رو نمیدونم ولی میتونید با مشخصه های Dock و یا Anchor حداکثر فضای موجود رو به Label بدین. یا اینکه برای مثال میتونید با استفاده از متد GetPreferredSize اندازه ای که کنترل نیاز داره رو بدست بیارین:

    private void Form1_SizeChanged(object sender, EventArgs e) {
    label1.Size = label1.GetPreferredSize(new Size(this.ClientSize.Width, 0));
    }

    و یا اینکه autosize رو برابر true کنید و MaximumSize رو برابر اندازه مورد نظرتون قرار بدین:

    private void Form1_SizeChanged(object sender, EventArgs e) {
    label1.MaximumSize = label1.GetPreferredSize(new Size(this.ClientSize.Width, 0));
    }


    اگه یک شمای تصویری از فرمتون و کاری که میخواین بکنید بگذارین بهتر میشه کمک کرد.

  3. #3
    کاربر دائمی
    تاریخ عضویت
    اردیبهشت 1391
    محل زندگی
    خوی
    پست
    454

    نقل قول: کار با label و تغییر اندازه

    حیلی ممنون دوست عزیز بابت راهنمایی
    9-5-2015 5-53-20 PM.png
    من تقریبا یه فرمی مثل این می خوام. اطلاعات رو که هر کدوم متنی با اندازه نامشخص هست می خونه و هر رکورد رو تو یه لیبل قرار می ده و لیبل ها رو به صورت رانتایم زیر هم ایجاد می کنه و اندازه هر لیبل هم به اندازه متن بستگی داره.
    میشه همچین چیزی ساخت؟
    ممنون

  4. #4
    کاربر دائمی
    تاریخ عضویت
    دی 1383
    محل زندگی
    اصفهان
    پست
    1,436

    نقل قول: کار با label و تغییر اندازه

    1) یک FlowLayoutPanel در فرم ایجاد کنید و مشخصه Dock برو برابر Fill قرار بدین. مشخصه FlowDirection رو برابر TopDown قرار بدین.
    2) به ازای هر آیتم یک Label با AutoSize=True ایجاد کنید و به FlowLayoutPanel.Controls اضافه کنید.
    3) برای ایجاد فاصله افقی بین Label ها، مشخصه Margin هر Label رو با Topو Bottom دلخواه تغییر بدین.

  5. #5
    کاربر دائمی
    تاریخ عضویت
    اردیبهشت 1391
    محل زندگی
    خوی
    پست
    454

    نقل قول: کار با label و تغییر اندازه

    خیلی ممنون دوست عزیز همونی که می خواستم بود.
    ولی یه مشکلی هست. تا زمانی که مطلب کمه و Flowlayoutpanel پر نشده همونجوریه که من می خوام ولی وقتی مطلب یکم زیاده و باید از flowlayoutpanel بزنه بیرون و دیگه از حالت چند خطی خارج میشه و میره رو یه خطی.
    اینطوری:
    این زمانیه که مطلب زیاده:
    9-21-2015 11-33-45 PM.png
    و این زمانیه که مطلب در حد اندازه خود flowlayoutcontrol هست:
    9-21-2015 11-35-56 PM.png

  6. #6
    کاربر دائمی
    تاریخ عضویت
    اردیبهشت 1391
    محل زندگی
    خوی
    پست
    454

    نقل قول: کار با label و تغییر اندازه

    من حالت دوم رو میخوام به شرطه اینکه بعد از پر شدن flowlayout اسکرول بشه

  7. #7
    کاربر دائمی
    تاریخ عضویت
    دی 1383
    محل زندگی
    اصفهان
    پست
    1,436

    نقل قول: کار با label و تغییر اندازه

    برای من اینطوری نیمشه و وقتی AutoScroll رو True میگذارم و WrapContent رو False به نظر درست نمایش میده ولی خوب، شما اگه نخوای از FlowLayoutPanel هم استفاده کنی میتونی اندازه مورد نیاز برای ارتفاع Label رو با متد GetPreferredSize بدست بیاری:

    Size size = label1.GetPreferredSize(Form1.ClientSize.Width, int.MaxValue);
    int desiredHeight = size.Height

    اینطوری با دادن اندازه عرض فرم به عنوان عرض مورد نظر، ارتفاع مورد نیاز Label بدست میاد و میتونی Label ها رو یکی یکی در مکان مناسب ایجاد کنی و قرار بدی.

  8. #8
    کاربر دائمی
    تاریخ عضویت
    اردیبهشت 1391
    محل زندگی
    خوی
    پست
    454

    نقل قول: کار با label و تغییر اندازه

    خیلی ممنون دوست عزیز
    وقتی WrapContent رو برابر با false کردم مشکل حل شد.

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

  1. تغییر اندازه اتوماتیک label
    نوشته شده توسط morteza271 در بخش C#‎‎
    پاسخ: 1
    آخرین پست: یک شنبه 29 خرداد 1390, 14:33 عصر
  2. مشکل در مورد تغییر اندازه متن Label
    نوشته شده توسط mohamad2007 در بخش VB.NET
    پاسخ: 2
    آخرین پست: جمعه 12 بهمن 1386, 15:39 عصر
  3. تغییر اندازه ستون Datagrid در VB.net.......
    نوشته شده توسط zehs_sha در بخش VB.NET
    پاسخ: 1
    آخرین پست: شنبه 18 مرداد 1382, 18:19 عصر
  4. کد تغییر اندازه کاغذ در datareport
    نوشته شده توسط jannati در بخش ابزارهای گزارشگیری در VB6
    پاسخ: 1
    آخرین پست: شنبه 28 تیر 1382, 19:29 عصر

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

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