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

نام تاپیک: یک TextBox سفارشی؟

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

    یک TextBox سفارشی؟

    سلام بچه ها
    من داشتم برای پروژه هام یک Text Box سفارشی با UserControl درست می کردم .
    در این صورت پروپرتیهای TextBox را حتما باید بصورت Publicایجاد می کردم و کلی دردسر داشت تا اینکه دیدم یکی از دوستان (آقای عظام نژاد عزیز) برای کارشون یک TextBox سفارشی طراحی کردن که تمام پراپرتیهای TextBox اولیه را داشت ولی هرچی سعی کردم موفق نشدم که بدونم ایشون چطور درست کردن.
    به نظر شما چطور میشه همچین کنترل های سفارشی استاندارد داشت که خاصیت های اصلی آنها هم حفظ بشه؟
    اگر ممکنه مثال بزنید...

  2. #2
    کاربر دائمی آواتار s.khoshfekran
    تاریخ عضویت
    فروردین 1389
    محل زندگی
    تهران
    پست
    503

    نقل قول: یک TextBox سفارشی؟

    usercontrol ات باید از Textbox ارث بری کنه!!

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

    نقل قول: یک TextBox سفارشی؟

    سپاس گذارم
    مشکل من این بود که مستقیما برای تغییر خصوصیات کنترل از کد زیر استفاده می کردم:
    TextBox1.BackColor=Color.Red;

    که باید به صورت زیر می نوشتم:
    This.BackColor=Color.Red;

    با تشکر

  4. #4
    کاربر دائمی
    تاریخ عضویت
    مهر 1386
    محل زندگی
    بندرعباس
    پست
    126

    نقل قول: یک TextBox سفارشی؟

    بچه ها مثل اینکه فقط میشه رنگ رو تغییر داد!
    من خاصیت های دیگه رو تنظیم می کنم ولی هنکام load شدن ، تنظیمات پیشفرض visual Studio هستن مثل فونت یا چیزهای دیگه...

  5. #5
    کاربر تازه وارد آواتار Marzieh_A
    تاریخ عضویت
    اردیبهشت 1386
    محل زندگی
    خونمون
    پست
    87

    نقل قول: یک TextBox سفارشی؟

    نقل قول نوشته شده توسط mrsalam مشاهده تاپیک
    بچه ها مثل اینکه فقط میشه رنگ رو تغییر داد!
    من خاصیت های دیگه رو تنظیم می کنم ولی هنکام load شدن ، تنظیمات پیشفرض visual Studio هستن مثل فونت یا چیزهای دیگه...
    اینجوری به property های کنترلهای داخل usercontrol دسترسی پیدا کن:


    this.Controls["textBox1"].BackColor = Color.SeaGreen;
    this.Controls["textBox1"].ForeColor = Color.Blue;
    Font MyFont = newFont("Arial", 16);
    this.Controls["textBox1"].Font = MyFont;
    فایل های ضمیمه فایل های ضمیمه

  6. #6
    کاربر دائمی آواتار FastCode
    تاریخ عضویت
    تیر 1388
    محل زندگی
    /dev/null
    پست
    3,486

    نقل قول: یک TextBox سفارشی؟

    از OnHandleCreated استفاده کن.

  7. #7
    کاربر دائمی
    تاریخ عضویت
    مهر 1386
    محل زندگی
    بندرعباس
    پست
    126

    نقل قول: یک TextBox سفارشی؟

    بسیار متشکرم از شما
    نقل قول نوشته شده توسط FastCode مشاهده تاپیک
    از OnHandleCreated استفاده کن.
    در صورت امکان مختصرا توضیح بفرمائید
    راستی در مورد event های اون (TextChange)کنترول چطور؟

  8. #8
    کاربر دائمی آواتار FastCode
    تاریخ عضویت
    تیر 1388
    محل زندگی
    /dev/null
    پست
    3,486

    نقل قول: یک TextBox سفارشی؟

    نقل قول نوشته شده توسط mrsalam مشاهده تاپیک
    بسیار متشکرم از شما


    در صورت امکان مختصرا توضیح بفرمائید
    راستی در مورد event های اون (TextChange)کنترول چطور؟
    مثال:
            protected override void OnHandleCreated(System.EventArgs e)
    {
    base.OnHandleCreated(e);
    Start();
    }
    private void Start()
    {
    if (!DesignMode)
    {
    if (options != null)
    {
    if (this.options.Font == null)
    this.options.OwnerU_FontbyFont._Font = this.Font;
    else
    this.Font = options.OwnerU_FontbyFont._Font;
    }
    }
    }

  9. #9
    کاربر دائمی
    تاریخ عضویت
    مهر 1386
    محل زندگی
    بندرعباس
    پست
    126

    نقل قول: یک TextBox سفارشی؟

    FastCode عزیز سپاس
    ولی Event ها رو چکار کنم؟
    مثلا یک گرید ویو میخوام که همیشه در صورت کلیک ، کار خاصی انجام بشه . . .
    بعدش تو تمام پروژه از اون گرید ویوی سفارشی استفاده کنم

  10. #10
    کاربر دائمی آواتار wolf_majid
    تاریخ عضویت
    آذر 1387
    محل زندگی
    اصفهان
    پست
    534

    نقل قول: یک TextBox سفارشی؟

    دوست عزیز
    اگر فقط از یک شی می خوای استفتده کنی پیشنهاد می کنم از component استفاده کن
    بعدم از اون شی ای که می خوای ارث بری کن
    برای تغییر در خصوصیاتش هم می تونی به صورت زیر عمل کنی :
     protected override void OnEnter(EventArgs e)
    {
    base.OnEnter(e);
    ...
    {

    و برای تعریف یک خصوصیته جدید هم کافیه اونو به صورت public تعریف کنی

  11. #11
    کاربر دائمی آواتار wolf_majid
    تاریخ عضویت
    آذر 1387
    محل زندگی
    اصفهان
    پست
    534

    نقل قول: یک TextBox سفارشی؟

    using System.Windows.Forms;

    namespace WindowsFormsApplication4
    {
    public partial class Component1 : DataGridView
    {
    public Component1()
    {
    InitializeComponent();
    }

    public Component1(IContainer container)
    {
    container.Add(this);

    InitializeComponent();
    }
    protected override void OnClick(EventArgs e)
    {
    MessageBox.Show("Done");
    base.OnClick(e);
    }
    }
    }

  12. #12
    کاربر دائمی آواتار hamid.shekasteh
    تاریخ عضویت
    فروردین 1387
    محل زندگی
    شیراز
    پست
    192

    نقل قول: یک TextBox سفارشی؟

    یه نمونه از یه تکست باکس سفارشی خوب که من ازش استفاده می کنم و با Focus روش رنگ ForeColor عوض میشه +Enter به جای Tab و امکان وارد کردن یه سری کاراکتر خاص(Chars) یا تنها عدد(Number):




    class txt:TextBox

    {
    Boolean _Number = false;
    char[] _Chars;
    publicchar[] Chars
    {
    get
    {
    return _Chars;
    }
    set
    {
    _Chars = value;
    }
    }
    publicBoolean Number
    {
    get
    {
    return _Number;
    }
    set
    {
    _Number = value;
    }
    }

    protectedoverridevoid OnKeyPress(KeyPressEventArgs e)
    {
    Boolean handle= true;
    if (char.IsControl(e.KeyChar))
    e.Handled = false;
    else
    {
    if (Number)
    e.Handled = !(Char.IsDigit(e.KeyChar));
    else
    {
    if (Chars != null)
    {
    foreach (char ch in Chars)
    {
    if (e.KeyChar == ch)
    handle = false;
    }
    e.Handled = handle;
    }
    }
    }
    }
    protectedoverridebool ProcessDialogKey(Keys keyData)
    {
    if (keyData == Keys.Enter)
    SendKeys.Send("{TAB}");
    returnbase.ProcessDialogKey(keyData);
    }
    protectedoverridevoid OnGotFocus(EventArgs e)
    {
    this.BackColor = System.Drawing.SystemColors.InactiveCaptionText;
    base.OnGotFocus(e);
    }
    protectedoverridevoid OnLostFocus(EventArgs e)
    {
    if (this.ReadOnly)
    this.BackColor = System.Drawing.SystemColors.ButtonFace;
    else
    this.BackColor = System.Drawing.Color.White;
    base.OnLostFocus(e);
    }
    privatevoid InitializeComponent()
    {
    this.SuspendLayout();
    this.ResumeLayout(false);
    }
    }


    موفق باشید.
    آخرین ویرایش به وسیله hamid.shekasteh : چهارشنبه 05 خرداد 1389 در 22:44 عصر

  13. #13
    کاربر دائمی آواتار علی فتحی
    تاریخ عضویت
    اسفند 1390
    محل زندگی
    مهاباد
    سن
    42
    پست
    1,076

    نقل قول: یک TextBox سفارشی؟

    میشه اموزش تصویری رو بگذارید خیلی تاپیک ایجاد کردم موفق نشدم

    https://barnamenevis.org/showthread.p...=Component1.cs

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

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