PDA

View Full Version : چطور از یوزر کنترل به فرمی که به اون اضافه شده دسترسی داشته باشم؟



vahid2112
سه شنبه 03 بهمن 1391, 04:56 صبح
سلام
یه یوزرکنترل هست که روش یه دکمه داره
توی رویداد کلیک اون دکمه چی بنویسم که بتونه فرمی رو که در اون اضافه شده hide کنه؟
یا دستوراتی از این سطح رو اجرا کنه؟
اینم نمونه پروژش

98835

plus
سه شنبه 03 بهمن 1391, 12:52 عصر
Form form = this.FindForm();
if (form != null)
{
form.Hide();
}

vahid2112
جمعه 06 بهمن 1391, 06:22 صبح
چطور به کنترلهاش دسترسی داشته باشم؟
مثلا چطور یه تکست باکس تو فرمم رو از توی یوزرکنترلم visible کنم؟

vahid2112
جمعه 06 بهمن 1391, 08:06 صبح
البته مشکلم با کنترلهایی مثل تکست باکس حل شده

Form1 f = (Form1)this.FindForm();
f.Controls["textBox1"].Visible = false;


اما من میخام notifyIcon1 مربوط به فرمم رو visible کنم که خطا میگیره:
Object reference not set to an instance of an object.

vahid2112
جمعه 06 بهمن 1391, 21:47 عصر
کسی نمیدونه مشکل از کجاست؟

vahid2112
جمعه 06 بهمن 1391, 22:12 عصر
مگه فرق textBox با notifyIcon چیه که وقتی textBox میذارم خطا نمیگیره ، ولی وقتی notifyIcon میذارم خطا میگیره ؟
مگه notifyIcon هم مثل textBox یک کنترل نیست؟
:متفکر::متفکر::متفکر::متفکر:

the king
جمعه 06 بهمن 1391, 23:38 عصر
مگه فرق textBox با notifyIcon چیه که وقتی textBox میذارم خطا نمیگیره ، ولی وقتی notifyIcon میذارم خطا میگیره ؟
مگه notifyIcon هم مثل textBox یک کنترل نیست؟
:متفکر::متفکر::متفکر::متفکر:

نه نیست، Component ئه، با Control فرق داره. Control ها روی خود فرم قرار می گیرند، یعنی جزئی از مجموعه Controls هایش می شوند،
اما Component ها جزئی از این مجموعه Controls فرم نیستند، صرفا داخل کلاس فرم اند.


using System.Reflection;



Form1 f = (Form1)this.FindForm();
FieldInfo field = f.GetType().GetField("notifyIcon1", BindingFlags.Instance | BindingFlags.NonPublic);
NotifyIcon n = field.GetValue(f) as NotifyIcon;
n.Icon = f.Icon;
n.Visible = true;
n.ShowBalloonTip(15000, "Test", "This is a test", ToolTipIcon.Info);

vahid2112
شنبه 07 بهمن 1391, 00:39 صبح
ممنون
اگه ممکنه یه توضیح برام بده که اگه بخوام این طور کارها (منظورم این نحو دسترسی ها، دسترسی به کنترلها و روابط بین فرمها و کنترلها و یوزرکنترلها و کامپوننت ها و...) رو یاد بگیرم:
تحت چه عنوانی هست؟
و منابع مفید و خوبش از کجاست؟
بازم ممنون از اینکه راهنماییم کردی.:لبخندساده: