PDA

View Full Version : سوال: دسترسی به آبجکت از یک فرم دیگر در فرم اصلی



MasoudAdmin
پنج شنبه 01 اسفند 1398, 19:18 عصر
با سلام به همه
من در برنامه وقتی کاربر لاگین می کند بر اساس نوع کاربری معمولی یا مدیر سیستم باید به یه سری از آبجکت های در فرم ها دسترسی یا عدم دسترسی داشته باشد.
من می خوام در فرم اصلی به بقیه آبجکت های فرم های دیگرم دسترسی پیدا کنم و خصوصیاتشون رو تغییر بدم.
ممنون میشم راهنمایی کنید.
با سپاس.

شهابسلطانی
شنبه 03 اسفند 1398, 06:21 صبح
سلام
منظورتون اینه که میخواید سطح دسترسی تعریف کنید؟

the king
شنبه 03 اسفند 1398, 12:14 عصر
با سلام به همه
من در برنامه وقتی کاربر لاگین می کند بر اساس نوع کاربری معمولی یا مدیر سیستم باید به یه سری از آبجکت های در فرم ها دسترسی یا عدم دسترسی داشته باشد.
من می خوام در فرم اصلی به بقیه آبجکت های فرم های دیگرم دسترسی پیدا کنم و خصوصیاتشون رو تغییر بدم.
ممنون میشم راهنمایی کنید.
با سپاس.

ابتدا در کلاس های فرم تون یک تغییری بدهید تا بتوانیم سریع و به سادگی به شیء فرمی که باز شده دسترسی داشته باشیم.

در ابتدای کد کلاس فرم یک متغیر public static به نام Instance تعریف می کنیم تا مشخص کننده شیء فرم باشد.
در متد سازنده کلاس آن متغیر Instance را با this مقدار دهی می کنیم.


public partial class Form1 : Form
{
public static Form1 Instance;

public Form1()
{
Instance = this;
InitializeComponent();
}


حالا در هر جایی از برنامه اگر بخواهید به فرم Form1 ای که باز شده اشاره کنید، Form1.Instance در دسترس شما است.

برای دسترسی به کنترل هایی که روی فرم قرار داده اید، در هنگام طراحی فرم روی آنها کلیک کرده و در پنجره Properties مشخصه Modifiers شان را از مقدار پیشفرض Private به Public تغییر بدهید.
مثلا اگر می خواهید از هر کلاس دلخواهی به Form1.Instance.textBox1.Text دسترسی داشته باشید، ابتدا در هنگام طراحی فرم Form1 کنترل textBox1 را انتخاب کرده و مشخصه textBox1.Modifiers را از Private به Public تغییر بدهید.

151380

MasoudAdmin
شنبه 03 اسفند 1398, 16:10 عصر
با سلام و سپاس فراوان