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

نام تاپیک: نوشتن Property , AutoSize برای یک یوزر کنترل

  1. #1

    نوشتن Property , AutoSize برای یک یوزر کنترل

    با سلام

    من دارم یه یوزر کنترل برای لیبل عمودی مینویسم
    این هم کداش که اما مشکلی که دارم اینه که اتو سایز نداره
    ( در داخل یوزر کنترل یه کلاس به اسم VerticalLabel با کدهای زیر ایجاد می کنیم و برنامرو ران میکنیم ( هیچ لیبلی هم رو یوزر کنترل قرار نمی دیم ! ) )
    از دوستان ممنون میشم با کد منو راهنمایی کنن

    using System;
    using System.ComponentModel;
    using System.Collections.Generic;
    using System.Text;
    using System.Windows.Forms;
    using System.Drawing;

    public class VerticalLabel : System.Windows.Forms.Control
    {
    private string labelText;
    public VerticalLabel()
    : base()
    {

    InitializeComponent();
    }

    #region " Windows Form Designer generated code "

    protected override void Dispose(bool disposing)
    {
    if (disposing)
    {
    if ((components != null))
    {
    components.Dispose();
    }
    }
    base.Dispose(disposing);
    }

    private System.ComponentModel.Container components;
    private void InitializeComponent()
    {
    this.Size = new System.Drawing.Size(24, 100);
    }
    #endregion

    protected override void OnPaint(System.Windows.Forms.PaintEventArgs e)
    {
    float sngControlWidth = 0;
    float sngControlHeight = 0;
    float sngTransformX = 0;
    float sngTransformY = 0;
    Color labelColor = default(Color);
    Pen labelBorderPen = new Pen(labelColor, 0);
    SolidBrush labelBackColorBrush = new SolidBrush(labelColor);
    SolidBrush labelForeColorBrush = new SolidBrush(this.ForeColor);
    base.OnPaint(e);
    sngControlWidth = this.Size.Width;
    sngControlHeight = this.Size.Height;
    e.Graphics.DrawRectangle(labelBorderPen, 0, 0, sngControlWidth, sngControlHeight);
    e.Graphics.FillRectangle(labelBackColorBrush, 0, 0, sngControlWidth, sngControlHeight);

    sngTransformX = 0;
    sngTransformY = sngControlHeight;

    e.Graphics.TranslateTransform(sngTransformX, sngTransformY);
    e.Graphics.RotateTransform(270);
    e.Graphics.DrawString(labelText, Font, labelForeColorBrush, 0, 0);
    }
    public override string Text
    {
    get { return labelText; }
    set
    {
    labelText = value;
    Invalidate();
    }
    }
    }
    آخرین ویرایش به وسیله papeli_83 : یک شنبه 15 مرداد 1391 در 00:20 صبح دلیل: یه اشتباه کوجولو

  2. #2

    نقل قول: نوشتن Property , AutoSize برای یک یوزر کنترل

    از کلاسی که براتون نوشته بودم و AutoSize داشت استفاده نکردید، ایرادی داشت؟
    مبتدی: قرار دادن لیبل بصورت عمودی بر روی فرم؟ !!

  3. #3

    نقل قول: نوشتن Property , AutoSize برای یک یوزر کنترل

    نقل قول نوشته شده توسط the king مشاهده تاپیک
    از کلاسی که براتون نوشته بودم و AutoSize داشت استفاده نکردید، ایرادی داشت؟
    مبتدی: قرار دادن لیبل بصورت عمودی بر روی فرم؟ !!
    سلام دوست عزیز

    بله متاسفانه لیبیل عمودی شما هم مانند لیبل devcomponent یه مشکل داره و اونم اینه که وقتی لیببل رو به طور عمودی قرار می دیم وقتی طول متن بیشتر از اندازه لیبل باشه وبخواد افزایش سایز بده بجای اینکه به سمت بالا افزایش سایز بده به سمت پایین افزایش سایز میده ( خودتون امتحان کنین ) ولی کدی که من نوشتم به سمت بالا افزایش سایز می ده !!! (شکل زیر رو ببینید : چون به سمت پایین افزایش سایز میداد مجبور شدم لیبل های عمودی رو باین صورت قرار بدم !!!! و همونطور که می بینید خودنش مشکله)

    Captur1.PNG

  4. #4

    نقل قول: نوشتن Property , AutoSize برای یک یوزر کنترل

    از دوستان کسی نیست که کمک کنه !!!!!!!!!!!!

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

  1. سوال: نوشتن Property , AutoSize برای یک یوزر کنترل
    نوشته شده توسط papeli_83 در بخش VB.NET
    پاسخ: 4
    آخرین پست: جمعه 13 مرداد 1391, 15:45 عصر
  2. پاسخ: 2
    آخرین پست: یک شنبه 23 مرداد 1390, 08:55 صبح
  3. ساخت رویداد textchange برای یک یوزر کنترل
    نوشته شده توسط ali.ghodrati در بخش C#‎‎
    پاسخ: 1
    آخرین پست: سه شنبه 11 آبان 1389, 14:17 عصر
  4. نوشتن نرم افزاری برای کنترل کودکان در ویندوز
    نوشته شده توسط aliasghar در بخش برنامه نویسی در Delphi
    پاسخ: 9
    آخرین پست: پنج شنبه 31 اردیبهشت 1383, 17:53 عصر

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

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