PDA

View Full Version : سوال در مورد طراحی فرم و استفاده از اون فرم در فرم های دیگر



hosein_2548
دوشنبه 19 فروردین 1398, 18:01 عصر
سلام دوستان
بتازگی میخوام یه پروژه رو توسعه بدم توی یه شرکت . برنامه نویس قبلی در طراحی فرم ها بصورتی عمل کرده که من از این روش تاحالا استفاده نکردم.
اومده برای جستجو یه صفحه ای درست کرده ( که نمیدونم از چه نوع صفحه ای هست ). بعد اومده توی چند تا فرم از اون استفاده کرده .
توی فرم هایی که اونو اضافه کرده اصلا نمیشه تغییرات داد و باید بریم همون صفحه ای که خود فرم جستو را طراحی کرده .
کد نویسیشم نمیدونم چطور انجام داده که با زدن دکمه جستجو اطلاعات رو توی این فرم نشون میده .
کسی هست که تاحالا از این روش استفاده کرده باشه ؟
ممنون میشم راهنمایی کنید

mr.sirwan
دوشنبه 19 فروردین 1398, 20:08 عصر
سلام لطفا کد یا عکس یا نمونه قرار بدین اینجوری که نمیشه راهنمایی کرد در تمامی موارد گفتین که نمیدونم چجوریه

saeidfar
دوشنبه 19 فروردین 1398, 20:18 عصر
احتمالا اومده از یک یوزر کنترل استفاده کرده ،و اون رو توی بقیه فرم ها ادد کرده ،
یا یک فرم طراحی کرده به عنوان فرم بیس که بقیه فرم ها رو از نوع اون فرم ساخته( inheritance)

hosein_2548
دوشنبه 19 فروردین 1398, 21:34 عصر
احتمالا اومده از یک یوزر کنترل استفاده کرده ،و اون رو توی بقیه فرم ها ادد کرده ،
یا یک فرم طراحی کرده به عنوان فرم بیس که بقیه فرم ها رو از نوع اون فرم ساخته( inheritance)


سلام
بله دقیقا از یوزر کنترل استفاده کرده . البته من نمیدونستم و شما که اشاره کردین یه سرچی زدم دیدم همینه .
ممنون واقعا
اگه آموزشی دارین در این زمینه ممنون میشم

alexmcse
دوشنبه 19 فروردین 1398, 22:48 عصر
سلام
بله دقیقا از یوزر کنترل استفاده کرده . البته من نمیدونستم و شما که اشاره کردین یه سرچی زدم دیدم همینه .
ممنون واقعا
اگه آموزشی دارین در این زمینه ممنون میشم

یک نمونه




using System.Drawing;
using System.Windows.Forms;


namespace WindowsFormsApp2
{
public class UserControl1:UserControl
{
private readonly Button b = new Button();
private readonly TextBox t = new TextBox();
public UserControl1()
{
b.Text = @"ShowMessage";
b.Location = new Point(50, 50);
b.Size = new Size(75, 23);
t.Size = new Size(100, 23);
t.Location = new Point(10, 10);
b.Click += B_Click;
this.Controls.Add(b);
this.Controls.Add(t);
}


private void B_Click(object sender, System.EventArgs e)
{
MessageBox.Show(t.Text , @"App");
}


private void InitializeComponent()
{
this.SuspendLayout();
//
// UserControl1
//
this.Name = "UserControl1";
this.Size = new System.Drawing.Size(345, 268);
this.ResumeLayout(false);


}
}
}

طریقه استفاده
یک راهش اینه که از پنجره تول باکس یوزر کنترل رو به فرمت اضافه کنی
یک راه دیگه در فرم لود بنویسی
private void Form17_Load(object sender, EventArgs e) {



UserControl1 user = new UserControl1();
Controls.Add(user);

hosein_2548
دوشنبه 19 فروردین 1398, 23:58 عصر
خب تا اینجا با راهنمایی شما دوستان موفق شدم
حالا یه مشکلی دارم
یه تکست باکس داریم توی یه فرمی که این یوزر کنترل رو بهش اضافه کردیم. دکمه ای که توی یوز کنترل رو وقتی میزنیم توی تکست باکس روی فرم تغیرات ایجاد میشه .
چگونگی ارتباط اینارو میخوام بدونم و مشکل اصلیه منم الان همینه 149996
ممنون

saeidfar
سه شنبه 20 فروردین 1398, 00:13 صبح
خصوصیت مودیفر هر چیزی که توی کنترل هست رو پابلیک کنید و بعد اون رو هرجای فرم خواستین فراخوانی کنید.