PDA

View Full Version : User Control



Future
چهارشنبه 05 اردیبهشت 1386, 04:39 صبح
I've added a User Controls to a C# Windows application (through Add New Item).
Once I'm done with the control design, etc. how do I add the User Control to my main form by clicking on the related button?

MH2538
چهارشنبه 05 اردیبهشت 1386, 06:32 صبح
سلام
فرض کنیم اسم UserControl شما myUserControl باشه


private void button1_Click(object sender, EventArgs e)
{
myUserControl myControl1 = new myUserControl();
myControl1.Left = 10;
myControl1.Top = 20;
myControl1.Width = 120;
myControl1.Height = 32;
myControl1.Text = "myControl Caption";
this.Controls.Add(myControl1);
}

البته یک سری از Property ها بسته به نوع کنترلی که طراحی کرده اید ممکنه وجود نداشته باشه مثلا ممکنه کنترل شما Text نداشته باشه

Future
چهارشنبه 05 اردیبهشت 1386, 08:32 صبح
دوست عزیز من اینکار را کردم ولی بعد تز زدن دکمه مربوط هیچ چیزی نمایش داده نمیشه.یعنی وقتی دکمه را می زنم user control را نمی تونم ببینم.ولی متد اجرا میشه.
با تشکر

MH2538
چهارشنبه 05 اردیبهشت 1386, 08:38 صبح
سلام
کلاسBase برای Usercontrol ات چیه ؟

Future
چهارشنبه 05 اردیبهشت 1386, 09:26 صبح
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using System;
using System.Collections.Generic;
using System.Windows.Forms;
using System.Drawing
دوست عزیز آیا منطورتان اینها است

MH2538
چهارشنبه 05 اردیبهشت 1386, 11:17 صبح
آیا احتمال نداره که کنترل شما زیر یک کنترل دیگه قرار گرفته باشه
مخصوصا Panel
اگر می خوای این کنترلت روی اون Panel لود بشه یه کم باید کد رو تغییر بدی

Future
چهارشنبه 05 اردیبهشت 1386, 15:08 عصر
خودم هم به این نتیجه رسیدم، ممکنه زیر panel اصلی قرار گرفته باشه .برای اینکار باید چه کار کرد.

MH2538
چهارشنبه 05 اردیبهشت 1386, 17:36 عصر
سلام
دوتا راه هست
1 - تو می خوای این کنترل متعلق به این Panel باشه . در این صورت اگر اسم Panel شما Panel1 باشه بجای


this.Controls.Add(myControl1);

می نویسی


Panel1.Controls.Add(myControl1);

اما اگر نخواهی متعلق به Panel باشه باید بعد از


this.Controls.Add(myControl1);

بنویسی


myControl1.BringToFront();

Future
دوشنبه 10 اردیبهشت 1386, 07:56 صبح
دوست عزیز سلام،آقا خیلی ممنون. به نتیجه رسیدم . حالا اگه بخوام روی این فرم افکتهایی مثل ویستا داشته باشم چکار باید کرد.
با تشکر

MH2538
دوشنبه 10 اردیبهشت 1386, 09:04 صبح
سلام دوست عزیز
من نمی دونم چه افکتی می خواهید.ضمن اینکه فرصت نداشتم تا حالا روی ویستا کار کنم.

Future
سه شنبه 11 اردیبهشت 1386, 10:35 صبح
سلام دوستان،من 2 تا فرم دارم که تونستم یک effect به آن بدم البته با کمک سایت دوستان.در این برنامه با کلیک کردن دکمه در فرم اول فرم دوم بصورن fade ظاهر میشه .خالا می خوام بجای فرم دوم از user control استفاده کنم ولی ژیغام خطا میده و آنهم بخاطر این است که opacity نداره .میشه بگید باید چکار کنم.
با تشکر

Future
چهارشنبه 12 اردیبهشت 1386, 10:34 صبح
آقا کسی متوجه مشکل این برنامه نشده

ghafoori
چهارشنبه 12 اردیبهشت 1386, 13:29 عصر
دوست عزیز این کد احتمالا جواب می دهد برای کنترا button که جواب داد


Color c = Color.FromArgb(50, this.BackColor);
this.BackColor = c;

بجای عدد 50 عدد دلخواه را از 1 تا 100 قرار دهید

MH2538
چهارشنبه 12 اردیبهشت 1386, 14:29 عصر
1- دوست عزیز Opcaity مخصوص form است (در حالت عادی) و شامل کنترل ها نمی شه. خب UserControl هم که اسمش روشه ، یه کنترله دیگه.
2-ghafoori جان
50 ، عدد alpha است که تقریباً ارتباطی با ترنسپرنسی نداره

Future
پنج شنبه 13 اردیبهشت 1386, 00:22 صبح
دوست عزیز از راهنمایی شما ممنون. آیا شما راه حل مناسبی سراغ دارید که بشه اینکار را کرد بدون استفاده از کامپوننت.
با تشکر

Future
دوشنبه 21 خرداد 1386, 01:12 صبح
سلام دوست عزیز،
آقا اگه بخوام این usercontro را ببندم چکار کنم