PDA

View Full Version : سوال: کجا متغیر سراسری تعریف کنم؟



SajjadStr
سه شنبه 24 مرداد 1391, 14:37 عصر
من میخوام یه متغیر تعریف کنم طوری که Public باشه ودر همه ی فرم ها قابل شناسایی باشه
این کار رو با وی بی میشد تو ماژول انجام داد ولی تو سی شارپ کجا باید اینکار رو انجام بدم؟

harani
سه شنبه 24 مرداد 1391, 14:45 عصر
using System;//a
using System.Collections.Generic;//b
using System.ComponentModel;//c
using System.Data;//d
using System.Drawing;//e
using System.Linq;//f
using System.Text;//g
using System.Windows.Forms;//h
using System.IO;//i

namespace MyProgram
{
public partial class Form1 : Form
{
public int/*OR string Or bool ,...*/ inja;//a

public Form1()//b
{
InitializeComponent();//c
}


بهتره که در اینجایی که نوشتم وارد کنید ولی شما میتونید قبل از کد هر رویداد یا متدی متغییر خود رو بصورت سراسری تعریف کنید .

hakim22
سه شنبه 24 مرداد 1391, 14:56 عصر
در صورتی که نمی خواهدی برای استفا از متغیر یک نمونه ی جدید از کلاس را بسازید باید آن را به صورت Static تعریف کنید

k1csharpdeveloper
سه شنبه 24 مرداد 1391, 15:38 عصر
بعد از خطی که Namespace برنامه هست نوشته partial .... بعد از این خط تعریف میکنن که به نظر من شما با مباحث شی گرایی آشنا شو مخصوصا access modifier ها

cpppro
سه شنبه 24 مرداد 1391, 16:02 عصر
سلام
بهتر یه کلاس مجزا ایجاد کنین برای نگهداری همین متغییرها
سعی کنین این متغییرها رو static تعریف کنین .
توی کلاس : Public static string MyStatic1;
توی فرمهای دیگه : Class1.MyStatic1="hello world"; //

SajjadStr
سه شنبه 24 مرداد 1391, 16:09 عصر
این فانکشن زیر رو میخوام طوری تعریف کنم که تو همه فرم ها قابل دسترسی باشه الان فقط تو فرم 1 قابل دسترسه

public void RunCmdQuery(string str)
{
SqlConnection con = new SqlConnection("server=(local);database=test;integrated security=true;");
con.Open();
SqlCommand cmd = new SqlCommand(str, con);
cmd.ExecuteNonQuery();

}

Mahmoud.Afrad
سه شنبه 24 مرداد 1391, 16:29 عصر
بهتره یک کلاس جدید ایجاد کنید و متغیرها و متدهایی که میخواهید در کل برنامه باشند را در اون کلاس به صورت static تعریف کنید.