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

نام تاپیک: دستکاری داخل کد Designer.cs

  1. #1

    Question دستکاری داخل کد Designer.cs

    فرض کنید یک کلاس جدید از TextBox مشتق کرده باشم و حالا بخواهم یکی دوتا TextBox های فرمم ، از این کلاس جدید ساخته شوند.

    وقتی تکست باکس را از قسمت ToolBox به فرمم اضافه میکنم ، خودبخود از Forms.TextBox ساخته میشه و اگر من اون را دستکاری کنم و مثلا بنویسم از Forms.MyPersonalTextBox مشتق بشو ، چنین کلاسی را نمیشناسه و خطا میگیره.

    واسه همین مجبور میشوم که تکست باکس را در زمان اجرا بسازم که بتونم ازهرچی دلم خواست مشتقش کنم .

    برای اینکه بشه به روش اول یعنی دستکاری داخل Form1.Designer.cs این کار را انجام داد ، راهی هست ؟

    ( البته در حد همین وراثت و اینا ، وگرنه خب کامپوننت که میشه ساخت و ... که حالا زوده ! من بلد نیستم ! )

  2. #2
    امیدوارم این چند خط که با وجود شدت مشغله تهیه گردید . بدرد بخوره
    فایل های ضمیمه فایل های ضمیمه

  3. #3
    سوالت واضح نیست. یعنی یه کلاس جدید برای TextBox ایجاد می کنی و اون رو از TextBox اصلی مشتق می کنی، بعد می خوای یه آبجکت از اون بسازی و توی فرم قرار بدی؟

  4. #4
    سوالت واضح نیست. یعنی یه کلاس جدید برای TextBox ایجاد می کنی و اون رو از TextBox اصلی مشتق می کنی
    تا اینجاش : بله

    بعد می خوای یه آبجکت از اون بسازی و توی فرم قرار بدی؟
    نه ! اینطوری را میتونم.
    آخه من اسم علمیش ! را نمیدونم ولی منظورم همون فایلی هست که برای یک فرم ساخته میشه ، همونجا که InitializeComponent داره . اسمش را مینیوسه Form1.Designer.cs . خب ؟ وقتی مثلا یک تکست باکس به فرم اضافه میکنیم ، بطور خودکار توی اون فایل هم این تسکت باکسه و اطلاعاتش میاد دیگه . بعد خب تکست باکس را از System,Windows.Forms.TextBox میسازه که قابل قبوله ! ولی من میگم حالا که یک کلاس جدید واسه تکست باکس در پروژه ام ساخته ام ، آیا میشه توی همون فایل ، بجای System.Windows.Forms.Text بنویسم که System.Windows.Forms.MyPersonalClass ؟ چون ایراد میگیره !
    حالا میخواستم بببینم که میشه چنین کاری کرد ؟ یا اینکه مجبوریم تکست باکس را ران تایم بسازیم ؟

    / البته تا زمان پست کردن این مطلب ، مثال آقای (...!) را مطالعه نکردم . الان میخونمش شاید مشکل حل بشه .
    مرسی

  5. #5
    شما با این روش دیگر یک آبجکت درون toolbox خواهید داشت . دیگه مثل تکست باکس عادی باهاش کار کنید . اگر بازم مشگلی بود بهمون بگید

  6. #6
    ////////////////////////////////// InitializeComponent /////////////////////////////////////
    private System.Windows.Forms.CustomTextBox cTextBox;
    this.textBox1 = new System.Windows.Forms.TextBox();
    this.cTextBox.Location = new System.Drawing.Point(198, 161);
    this.cTextBox.Name = "cTextBox";
    this.cTextBox.Size = new System.Drawing.Size(100, 20);
    this.cTextBox.TabIndex = 0;
    this.Controls.Add(this.cTextBox);
    ////////////////////////////////// Custom Text Box /////////////////////////////////////
    using System;
    using System.Collections.Generic;
    using System.Text;
    using System.Windows.Forms;
    namespace Test
    {
    class CustomTextBox:TextBox
    {
    protected override void OnKeyPress(KeyPressEventArgs e)
    {
    if (char.IsLetter(e.KeyChar))
    {
    e.Handled = true;
    }
    base.OnKeyPress(e);
    }
    }
    }

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

  1. ایجاد ERD با designer
    نوشته شده توسط ssaeeds در بخش Oracle
    پاسخ: 3
    آخرین پست: پنج شنبه 06 دی 1386, 11:37 صبح
  2. مشکل در باز کردن C#‎ designer
    نوشته شده توسط حمیدرضاصادقیان در بخش C#‎‎
    پاسخ: 17
    آخرین پست: شنبه 21 بهمن 1385, 10:25 صبح
  3. نصب DESIGNER
    نوشته شده توسط z582006 در بخش Oracle
    پاسخ: 2
    آخرین پست: سه شنبه 22 فروردین 1385, 11:02 صبح
  4. Qt designer 4
    نوشته شده توسط davood_mir در بخش توسعه‌ی لینوکس و نرم افزارهای آزاد
    پاسخ: 2
    آخرین پست: یک شنبه 20 شهریور 1384, 10:57 صبح

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

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