PDA

View Full Version : ایجاد یک کنترل جدید؟؟



user68
شنبه 08 فروردین 1388, 14:01 عصر
با سلام
هرچی گشتم تاپیکی که بتونم اونجا مشکلم رو بپرسم پیدا نکردم به خاطر همین مجبور شدم برای یه موضوع ساده البته برای شما حرفه ای ها یه تاپیک بزنم !
حالا سوال من چه طور میشه مثلا یه کنترل label رو وقتی که فرم load میشه ایجاد کرد.
البته میدونم با متد() creat control اما هر کاری میکنم جواب نمیده.
با تشکر.
(بد نیست یه تاپیک هم برای سوالات مبتدی ها بزنید.)

hasan_esfahan
شنبه 08 فروردین 1388, 14:33 عصر
Label l1 = new Label();
l1.Text = "salam";
this.Controls.Add(l1);

user68
شنبه 08 فروردین 1388, 22:14 عصر
ممنون
میشه این خط سوم رو توضیح بدی که چی کار میکنه ویه سوال دیگه من توی کتاب خوندم که با متدcreatcontrol هم میشه کنترل جدید ایاد کرد ولی هرچی کدشو مینوسیم ارور میده!کدش اینه


form form2;
form2.activeform.creatcontrol();

که البته این کد یه فرم جدید با نام form 2 باید ایجاد کنه که نمیکنه.
ویه سوال دیگه من میخواستم با کد نویسی یه عکس رو برای background فرمم بزارم ولی این کدش رو اگه توی form_load بنویسم اجرا نمیشه ولی توی مثلا form_click اجرا میشه میخواستم ببینم مگه اینا با هم فرق دارند؟
با تشکر

hasan_esfahan
شنبه 08 فروردین 1388, 23:06 عصر
this.Controls.Add(l1);


منظور از this فرم جاری می باشد شما می توانید به فرم جدید هم اضافه کنید


Form2 f2 = new Form2();
f2.Controls.Add(l1);

user68
یک شنبه 09 فروردین 1388, 19:21 عصر
اقا این کد جواب نداد فرم ایجاد نمیکنه!!


Form f2 = newForm();
f2.Controls.Add(l1);

hasan_esfahan
یک شنبه 09 فروردین 1388, 20:21 عصر
خوب دوست عزیز شما باید کل کد را بنویسید



Form f2 = newForm();
Label l1 = newLabel();
l1.Text = "salam";
f2.Controls.Add(l1);

user68
یک شنبه 09 فروردین 1388, 23:34 عصر
خوب دوست عزیز من کل کد رو نوشتم!ولی جواب نداد.یعنی فرمی بوجود نیومد که labelی هم توش ایجاد بشه.

13601360
دوشنبه 10 فروردین 1388, 00:30 صبح
Form form2 = new Form();
Label label1 = new Label();
label1.AutoSize = true;
label1.Location = new System.Drawing.Point(136, 57);
label1.Name = "label1";
label1.Size = new System.Drawing.Size(35, 13);
label1.TabIndex = 0;
label1.Text = "label1";
form2.Controls.Add(label1);
form2.Show();

seven7777777
دوشنبه 10 فروردین 1388, 01:04 صبح
دوست عزیز سلام
در مورد سوال بکگراند کاش کدی که نوشته بودی میذاشتی ولی به هر حال من تست کردم جواب داد . با این کد :


this.BackgroundImage = Image.FromFile("Picture Path");

user68
دوشنبه 10 فروردین 1388, 14:16 عصر
ممنون از 13601360 جواب داد فکر کنم به خاطر اون قسمت اخرform2.show بود.
ودر مورد backgroun هم هرمسیری رو که بهش میدم میگه که چنین فایلی وجود نداره مثلا این


this.BackgroundImage = Image.FromFile("c:/s.jpeg");

ولی کدی که خودم نوشته بودم رو با this نوشتم جواب داد اینم کدش.


this.BackgroundImage = WindowsApplication1.Properties.Resources._13291285 27;

ولی یه چیزی وقتی مینویسم form2 حاصیت backgroundimage ش نمیاد ولی مینوسم this میاد!
به هر حال از همه دوستان ممنونم

seven7777777
دوشنبه 10 فروردین 1388, 15:14 عصر
دوست خوبم من چند بار و با چند حالت تست کردم و جواب گرفتم . مطمئنی که نام و بزرگی و کوچکی حروفش و پسوندش همون چیزیه که در FromFile نوشتی !!!

در مورد BackgroundImage هم تست کردم برای فرمی که New می کنی در حین اجرا . خاصیت بکگراندش که هست . اینم تست کردم و جواب داد . this هم که به فرم جاریت مربوطه به form2 ربطی نداره .

یه بار دیگه تست کن ببینیم چی میشه !!!

user68
دوشنبه 10 فروردین 1388, 16:28 عصر
دوست خوبم من چند بار و با چند حالت تست کردم و جواب گرفتم . مطمئنی که نام و بزرگی و کوچکی حروفش و پسوندش همون چیزیه که در FromFile نوشتی !!!

در مورد BackgroundImage هم تست کردم برای فرمی که New می کنی در حین اجرا . خاصیت بکگراندش که هست . اینم تست کردم و جواب داد . this هم که به فرم جاریت مربوطه به form2 ربطی نداره .

یه بار دیگه تست کن ببینیم چی میشه !!!
من هر مسیری که دادم نشد ولی با اون یکی کد کارم را افتاد در ضمن باید بگم که من خودم اشتباه مینوشتم باید مینوشتم form1.activeformکه فقط همینو نمینوشتم اجرانمیشد شرمنده اشتباه از خودم بود!