PDA

View Full Version : آموزش: تاپيك سوالات و جواب ها در C#‎



Netsky
سه شنبه 04 خرداد 1389, 18:06 عصر
با عرض سلام و خسته نباشيد خدمت تمامي دوستان عزيز و بزرگوار .
هدف از ايجاد اين تاپيك اين بوده كه سوالاتي كه به دفعات پرسيده ميشه در اين تاپيك جمع آوري بشه تا حداقل شاهد كمتر شدن سوالات تكراري هم باشيم .

ولي قبل از اينكه تاپيك رو شروع كنيم ، به اين چندتا نكته توجه كنيد :
1- اين تاپيك محلي براي قرار گيري سوالات و جوابهاي مربوط به زبان C#‎ ميباشيد . اين سوالات ميتوانند از بين تاپيك هاي همين سايت و يا سايت هاي ديگر باشند ( احيانا اگر از سايت هاي ديگر سوال و جوابي پيدا كرديد ، لينك آن سايت را حتما قرار دهيد ) . البته ميتوانند زاده ذهن شما نيز باشند . يعني ميتوانيد خودتان سوال در نظر گرفته و سپس به آنها جواب دهيد .
2- از طرح كردن سوال و جواب براي مباحث بسيار پيش پا افتاده خودداري كنيد . به عنوان مثال :

سوال : چگونه ميتوانم تكست باكس را فقط خواندني كنم ؟
جواب : خاصيت Read Only تكست باكس خود را برابر True قرار دهيد .
3- هر سوال و جوابي كه در پست شما فرستاده ميشود بايد دقيقا مشخص كنيد كه كدام قسمت سوال و كدام قسمت جواب ميباشيد . به عنوان مثال :

سوال : چگونه ميتوانم تاريخ را از ميلادي به شمسي تبديل كنم ؟
جواب : شما ميتوانيد از كد زير براي انجام اينكار استفاده كنيد :
.......
4- كدهاي خود را در تگ Code قرار دهيد تا از بهم ريختن كد جلوگيري شود . به عنوان مثال :


Messagebox.show("Welcome");
5- از پرسيدن سوال در تاپيك خودداري كنيد . براي بدست آوردن جواب خود ابتدا جستجو كرده و در صورت بدست نيامدن نتيجه مورد نظر يك تاپيك جداگانه ايجاد كنيد .
6- در صورتي كه سوالي در مورد يك كد داشتيد ، با استفاده از پيام خصوصي با فرد ارسال كننده كد صحبت كنيد .
7- ضمنا از وارد شدن به بحث هاي حاشيه اكيدا خودداري كنيد و بحث هاي خود را در يك تاپيك جداگانه مطرح كنيد .
8- از ارسال پست هاي حاوي تشكر نيز خودداري كنيد و بجاي اين كار دكمه تشكر را بفشاريد .
9- از ارسال پست هايي حاوي جملات زير امتنا كنيد :

اينو كه همه بلدن .
سوال و جوابهاتون خيلي مبتديه .
خواهشن يكي فلان كد رو برام توضيح بده .
و امثالهم ......
در پست بعدي نحوه ارسال پست در اين تاپيك را آموزش خواهم داد .
موفق و سربلند باشيد .............

Netsky
سه شنبه 04 خرداد 1389, 18:07 عصر
اين يك پست آموزشي است
سوال : چطور ميتوانم برنامه خود را به منظور اجراي اتوماتيك پس از بالا آمدن ويندوز تنظيم كنم؟
جواب : شما ميتوانيد برنامه خود را از طريق رجيستري ويندوز به منظور راه اندازي اتوماتيك به ثبت برسانيد .


Registry.SetValue(@"HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\Curr entVersion\Run", Application.ProductName, Application.ExecutablePath);
توضيح : ابتدا بايد نيم اسپيس Microsoft.Win32 تعريف شود .

Netsky
سه شنبه 04 خرداد 1389, 18:10 عصر
سوال : چگونه ميتوانم يك فايل متني بسازم و درون آن متن مورد نظرم را بنويسم ؟
جواب : براي انجام اينكار شما ميتوانيد از كلاس StreamWriter استفاده كنيد .


StreamWriter Writer = File.AppendText(@"C:\Test.txt");
Writer.WriteLine("Hello");
Writer.WriteLine("Im a Text File And Created By You");
Writer.Flush();
Writer.Close();

توضيح : ابتدا بايد نيم اسپيس System.IO تعريف شود .

Netsky
سه شنبه 04 خرداد 1389, 18:11 عصر
سوال : چگونه ميتوانم محتويات يك فايل متني را بخوانم ؟
جواب : براي انجام اينكار شما ميتوانيد از كلاس StreamReader استفاده كنيد .


StreamReader Reader = File.OpenText(@"C:\Test.txt");
MessageBox.Show(Reader.ReadToEnd());

توضيح : ابتدا بايد نيم اسپيس System.IO تعريف شود .

behnam25214
سه شنبه 04 خرداد 1389, 19:32 عصر
سوال: چگونه میتوانیم ردیف های انتخاب شده در DataGridView رو حذف کنیم؟
جواب : با استفاده از حلقه foreach


foreach (DataGridViewRow R in dataGridView1.SelectedRows)
dataGridView1.Rows.Remove(R);تو جه داشته باشید که باید خاصیت مالتی سلکت MultiSelect دیتا گرید خودتونو true کنید.

Netsky
سه شنبه 04 خرداد 1389, 20:46 عصر
سوال : چگونه ميتوانم آيكون برنامه خودم را كنار ساعت ويندوز نشان دهم ؟
جواب : به منظور انجام اينكار شما بايد از كنترل NotifyIcon موجود در خود ويژوال استديو استفاده كنيد .


NotifyIcon1.Icon = this.Icon ;
توضيح : اين كد بايد در رويداد Form_Load نوشته شود .

Netsky
سه شنبه 04 خرداد 1389, 20:47 عصر
سوال : چگونه ميتوانم تكست باكس را عددي كنم . يعني از ورود مقادير حروفي جلوگيري كنم ؟
جواب : براي انجام اين كار بايد به محض ورود مقادير حروفي تكست باكس هندل تكست باكس را فعال كنيد تا از ورود اينگونه مقادير جلوگيري شود . البته بايد شرطي را در كد قائل شويم تا از عملكرد كليد Backspace جلوگيري نشود .


if (e.KeyChar == 8)
{
return;
}
if (!char.IsDigit(e.KeyChar))
{
e.Handled = true;
}

توضيح : اين كد بايد در رويداد Key_Press تكست باكس مورد نظر وارد شود .

Netsky
سه شنبه 04 خرداد 1389, 20:55 عصر
سوال : چگونه ميتوانم از كنار ساعت ويندوز كه برنامه ام آنجا قرار دارد يك پيغام نمايش دهم ؟
جواب : به منظور انجام اينكار از متد ShowBalloonTip كنترل NotifyIcon استفاده كنيد .


NotifyIcon1.Icon = this.Icon ;
NotifyIcon1.ShowBalloonTip(2000, "Information", "Im a Message", ToolTipIcon.Info);

توضيح :
پارامتر اول مدت زمان نمايش پيغام برحسب ميلي ثانيه ميباشد .
پارامتر عنوان پيغامي است كه ميخواهيد نمايش داده شود .
پارامتر سوم متن اصلي پيغام است .
پارامتر چهارم نيز بسته به نوع پيغام شما تغيير ميكند .

behnam25214
سه شنبه 04 خرداد 1389, 21:02 عصر
ُسوال : چگونه میتوان فرم را جابجا کرد زمانی که خاصیت BorderStyle اون None باشد.
جواب : ↓



private Point mouse_pos;
private bool mouse_is_down = false;

private void Form1_MouseDown(object sender, MouseEventArgs e)
{
mouse_pos.X = e.X;
mouse_pos.Y = e.Y;
mouse_is_down = true;

}

private void Form1_MouseMove(object sender, MouseEventArgs e)
{
if (mouse_is_down)
{
Point current_pos = Control.MousePosition;
current_pos.X = current_pos.X - mouse_pos.X; //add this current_pos.Y = current_pos.Y - mouse_pos.Y; //add this
current_pos.Y = current_pos.Y - mouse_pos.Y;
this.Location = current_pos;
}
}

private void Form1_MouseUp(object sender, MouseEventArgs e)
{
mouse_is_down = false;
}

Netsky
سه شنبه 04 خرداد 1389, 22:13 عصر
سوال : چگونه ميتوانم درايوهاي Removable ( شامل فلش ها و مموري كارت ها ) را بدست بياورم ؟
جواب : شما بايد ابتدا تمامي درايوهاي سيستم را با استفاده از تابع GetDrives بدست آوريد و سپس با استفاده از يك شرط درايوهاي Removable را از ديگر درايوها جداسازي كنيد و نام آنها را برگشت دهيد .


public string Get_Removable_Drives()
{
string RMDRV = "";
string Total = "";
foreach (System.IO.DriveInfo DRV in System.IO.DriveInfo.GetDrives())
{
RMDRV = DRV.DriveType.ToString();
if (RMDRV == "Removable")
{
Total += DRV.Name + "\r\n";
}
}
return Total;
}
توضيح : ابتدا بايد نيم اسپيس System.IO را در برنامه تعريف كنيد .

r00tkit
چهارشنبه 05 خرداد 1389, 00:40 صبح
سلام
کاش کمی سوال ها تخصصی تر بشه
سوال :چی جوری کد هایی که داخل try catch نیستن رو exception ها شو handle کنیم



static void Main()
{
Application.ThreadException
+= new ThreadExceptionEventHandler(
Application_ThreadException);

Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(fals e);
Application.Run(new Form1());
}


private static void Application_ThreadException(
object sender,
System.Threading.ThreadExceptionEventArgs e)
{
MessageBox.Show(
"Send the following to support: " +
e.Exception);
}

حالا در هر قسمت از کد که داخل try نباشه exception روخ بده با تابع Application_ThreadException هندل می شه

برای console application
از این استفاده کنید
AppDomain.CurrentDomain.UnhandledException

Netsky
چهارشنبه 05 خرداد 1389, 13:54 عصر
سلام .

کاش کمی سوال ها تخصصی تر بشه
البته این تاپیک بیشتر واسه سوالاتی هست که به وفور پرسیده میشن و انشالله بعدا تخصصی تر هم خواهند شد .
در واقع با حضور افرادی مثل شما امکان نداره که تخصصی تر نشه .
---------
سوال : چگونه ميتوانم برقراري ارتباط با شبکه را بررسي كنم ؟
جواب : شما ميتوانيد از طرق كلاس Network و پروپرتي IsAvailable برقراري ارتباط با شبکه را بررسي كنيد .


bool NETAVL;
Microsoft.VisualBasic.Devices.Network AVL = new Microsoft.VisualBasic.Devices.Network();
NETAVL = AVL.IsAvailable;

switch (NETAVL)
{
case true:
MessageBox.Show("Network Is Available");
break;
case false:
MessageBox.Show("Network Is Not Available");
break;
}

توضيح :
ابتدا بايد رفرنس Microsoft.VisualBasic را به پروژه خود بيافزاييد .
نيم اسپيس Microsoft.VisuaBasic بايد تعريف شود .

Netsky
چهارشنبه 05 خرداد 1389, 14:10 عصر
سوال : چگونه ميتوانم تعداد كلمات يك متن را شمارش كنم ؟
جواب : براي انجام اين كار شما بايد فواصل خالي بين كلمات يك رشته را شمارش كنيد .


int wordCount = 0;
string[] arr = textBox1.Text.Split(' ');
for (int i = 0; i < arr.Length; i++)
{
if (arr[i].ToString() != "")
{ wordCount++; }
}
MessageBox.Show(wordCount.ToString());

r00tkit
چهارشنبه 05 خرداد 1389, 14:33 عصر
شما لطف دارین




جواب : شما ميتوانيد از طرق كلاس Network و پروپرتي IsAvailable برقراري ارتباط با اينترنت را بررسي كنيد .


Network.IsAvailable =
Check whether a computer is connected to a network


تست می کنه ایا به network وصل هستید یا نه


زمانی که به اینترنت وصل نیستید ولی به شبکه ای وصل هستد جواب رو نگاه کنید


جواب من:



[DllImport("wininet.dll", CharSet = CharSet.Auto)]
private extern static bool InternetGetConnectedState(ref InternetConnectionState_e lpdwFlags, int dwReserved);


یا



http://stackoverflow.com/questions/843810/c-fastest-way-to-test-internet-connection

Netsky
چهارشنبه 05 خرداد 1389, 17:33 عصر
سوال : چگونه ميتوانم اعداد درون تكست باكس را به صورت سه رقم ، سه رقم جدا كنم ؟
جواب :


string S = null;
Int64 N = default(Int64);
S = textBox1.Text.Replace(",", "");
N = Convert.ToInt64(S);
textBox1.Text = N.ToString("#,#");
textBox1.Select(textBox1.Text.Length, 1);

Netsky
چهارشنبه 05 خرداد 1389, 19:13 عصر
سوال : چگونه میتوانم تمامی درایوهای سیستم را بدست بیاورم .
جواب : شما میتوانید با استفاده از کلاس DriveInfo اینکار را انجام دهید .


foreach (DriveInfo DRV in DriveInfo.GetDrives())
{
MessageBox.Show(DRV.Name);
}

توضیح : ابتدا نیم اسپیس System.IO را تعریف کنید .

Netsky
چهارشنبه 05 خرداد 1389, 19:16 عصر
سوال : چگونه ميتوانم زبان سيستم را از فارسي به انگليسي تغيير بدهم ؟
جواب : براي انجام اينكار شما بايد از كلاس هاي InputLanguage و Globalization استفاده كنيد .

if (InputLanguage.CurrentInputLanguage.LayoutName == "US")
{
CultureInfo Farsi = new CultureInfo("fa-IR");
InputLanguage.CurrentInputLanguage = InputLanguage.FromCulture(Farsi);
}
else
{
CultureInfo English = new CultureInfo("en-US");
InputLanguage.CurrentInputLanguage = InputLanguage.FromCulture(English);
}

r00tkit
چهارشنبه 05 خرداد 1389, 22:36 عصر
سلام

شرمنده یه روش ساده تر پیدا کردم برای بررسی وصل بودن به اینترنت( اگه خواستی پیام بده پاک کنم)



if(NetworkListManager.IsConnectedToInternet)
Console.WriteLine("Connected To Internet");
توضیح: WindowsAPICodePack (http://code.msdn.microsoft.com/WindowsAPICodePack)رو دانلود کنید


using Microsoft.WindowsAPICodePack.Net;
add
Microsoft.WindowsAPICodePack.dll





Windows® API Code Pack for Microsoft® .NET Framework provides a source code library that can be used to access some features of Windows 7 and Windows Vista from managed code. These Windows features are not available to developers today in the .NET Framework.

Netsky
چهارشنبه 05 خرداد 1389, 22:41 عصر
سوال : چگونه ميتوانم تعداد خطوط در يك تكست باكس كه قابليت چند خطي دارد را بدست بياورم ؟

جواب : شما بايد در هر خط چك كنيد كه آيا خط تمام شده و به خط بعدي رفته ايم يا خير و با اضافه كردن يك واحد به یک متغییر Integer ، تعداد سطرها را بدست آوريد .

int Number_of_lines(string str)
{
int k = 0;
foreach (char c in str)
{
if (c == '\n')
k++;
}
if (str[str.Length - 1] != '\n')
k++;
return k;
}

Netsky
چهارشنبه 05 خرداد 1389, 22:44 عصر
این تاپیک ارتباط زیادی با 1001 نکته در سی شارپ نداره؟
دوست عزیز خواهشا پست اسپم ارسال نکنید . پست اول رو تو رو خدا بخون .
با تشکر از شما ........

zayens
چهارشنبه 05 خرداد 1389, 23:00 عصر
سوال:چگونه میشه یک فایل صوتی با فرمت wav در برنامه پخش کرد؟
جواب:ابتدا استفاده از


using System.Media;



SoundPlayer player = newSoundPlayer("FILEPATH");
//بارگذاری و انتظار تا پایان بارگذاری
player.Load()
//بارگذاری در ریسمانی مجزا و بدون انتظار تا پایان
player.LoadAsync()
//شروع یک بار پخش و انتظار تا پایان پخش
player.Play()
//شروع یک بار پخش در ریسمانی مجزا و بدون انتظار تا پایان
player.PlaySync()
//شروع پخش مدام در ریسمانی مجزا و بدون انتظار تا پایان
player.PlayLooping()
//توقف پخش
player.Stop()

Netsky
پنج شنبه 06 خرداد 1389, 12:42 عصر
سوال : چگونه ميتوانم زير كليدهاي يك كليد از رجيستري را بدست بياورم ؟
جواب : شما بايد از كلاس RegistryKey استفاده كنيد . ابتدا يك Listbox روي فرم قرار دهيد و سپس از اين كد استفاده كنيد .

RegistryKey Reg_Key = Registry.CurrentUser.OpenSubKey("Software");

foreach (string Sub_Key_Names in Reg_Key.GetSubKeyNames())
{
listBox1.Items.Add(Sub_Key_Names);
}

توضيح :
ابتدا بايد نيم اسپيس Microsoft.Win32 تعريف شود .
یک ListBox هم به برنامه اضافه کنید .

zayens
پنج شنبه 06 خرداد 1389, 16:13 عصر
سوال: چه طور میشه چند فایل صوتی به resource اضافه کرد و هر دو را پشت سر هم پخش کرد؟
جواب: 1- برای Add کردن:
راست کلیک روی نام پروژه=>Propertise=>قسمتResource=>مثلث بازشویAdd Resource=>گزینه ی ...Add Existing Files=> انتخاب فرمت (Audio.wav)=> انتخاب فایلهای صوتی(فقط wav)
2- ساخت Button و یک timer و کدهای زیر


//ابتدا
//using System.Media;
private void button1_Click(object sender, EventArgs e)
{
timer1.Stop();
i = 0;
//فایل صوتی با نام 1_ انتخاب می گردد
Stream WaveSound1 = Properties.Resources._1;
SoundPlayer player1 = new SoundPlayer(WaveSound1);
player1.Play();//پخش این فایل 5 ثانیه طول میکشد
timer1.Start();
timer1_Tick(sender, e);
}
private void timer1_Tick(object sender, EventArgs e)
{
i++;
if (i == 5)//مدت زمان توقف مساوی زمان پخش فایل 1 است
{
Stream WaveSound2 = Properties.Resources._2;
SoundPlayer player2 = new SoundPlayer(WaveSound2);
player2.Play();
}
}

r00tkit
پنج شنبه 06 خرداد 1389, 23:37 عصر
سلام

سوال: چه جوری اندازهی کاعذ رو برای چاپ تو C#‎‎‎ انتخواب کنیم

جواب: بعد کلی دستی اندازه دادن که هیچ موقع دقیق نمی شه در اخر اینو پیدا کردم ( برای پروژه ای که دارم می نویسم لازم شد)


foreach (PaperSize i in printDocument1.PrinterSettings.PaperSizes)
{
if (i.Kind == PaperKind.A5)
printDocument1.DefaultPageSettings.PaperSize=i;
}

توضیح :
برای چاپ یه چیزی لازم داشتم اندازه کاغذ رو A5 انتخواب کنم با این روش اندازه دقیق دقیق A5 می شه (بدون این روش امتحان کنید :عصبانی:)

Netsky
شنبه 08 خرداد 1389, 22:39 عصر
سوال : چگونه ميتوانم مقادير درون هر كليد را بدست بياورم ؟
جواب : براي انجام اين كار شما بايد از كلاس RegistryKey استفاده كنيد . ابتدا يك Listbox رو فرم قرار دهيد و سپس از اين كد استفاده كنيد .


RegistryKey Reg_Key = Registry.CurrentUser.OpenSubKey("Software\\VBReFormer");

foreach (string Sub_Value_Names in Reg_Key.GetValueNames())
{
listBox1.Items.Add(Sub_Value_Names);
}

توضيح : ابتدا بايد نيم اسپيس Microsoft.Win32 تعريف شود .

Netsky
شنبه 08 خرداد 1389, 22:42 عصر
سوال : چگونه ميتوانم يك رشته را بر عكس كنم ؟
جواب : شما ميتوانيد براي انجام اينكار از يك آرايه بهره ببريد .


string My_Text = "Alireza";
char[] My_Array = My_Text.ToCharArray();
Array.Reverse(My_Array);
MessageBox.Show(new string(My_Array));

Netsky
شنبه 08 خرداد 1389, 23:46 عصر
سوال : چگونه ميتوانم تعداد زیادی TextBox را به صورت همزمان پاك كنم ؟
جواب : براي انجام اين كار شما بايد ابتدا تمامي TextBox هاي موجود در فرم خود را بدست بياوريد و سپس از متد Clear استفاده كنيد .


foreach (object item in this.Controls)
{
if (object.ReferenceEquals(item.GetType(), typeof(TextBox)))
{
((TextBox)item).Clear();
}
}

Netsky
یک شنبه 09 خرداد 1389, 13:53 عصر
سوال : چگونه ميتوانم اعضاي آرايه را به صورت مرتب شده وارد ليست باكس كنم ؟
جواب : براي انجام اينكار شما بايد از متد Sort كلاس Array استفاده كنيد .


string[] Namse = { "Alireza", "Iman", "Farzad", "Armin" };
Array.Sort(Namse);
foreach (string i in Namse)
{
listBox1.Items.Add(i);
}

Netsky
یک شنبه 09 خرداد 1389, 15:26 عصر
سوال : چگونه ميتوانم يك برنامه را End Process كنم ؟
جواب : براي انجام اينكار شما بايستي از متد Kill كلاس Process استفاده كنيد . به عنوان مثال ميخواهيم برنامه Notepad را End Process كنيم .


Process[] processList = null;
processList = Process.GetProcessesByName("notepad");
foreach (Process Proc in processList)
{
Proc.Kill();
}


در اينجا شما ميتوانيد بجاي نام برنامه notepad ، نام برنامه مورد نظر خود را بنويسيد .
توضيح : ابتدا بايد نيم اسپيس System.Diagnostics تعريف شود .

r00tkit
دوشنبه 10 خرداد 1389, 00:01 صبح
سلام

توی پروژه ای که دارم می نویسیم(یه ms-ssms فارسی)

یه سری کد +مفاهیم اولیه هستش که گفتم این جا بیارمش (الباه مفاهیم پایه ای شو می نویسیم)

این مطالب به مرور تکمیل می شود (اگه لازم شد یه تاپیک براش می زنم)
سوال: SMO چیست
جواب:



SQL Server Management Objects (SMO) is a collection of objects that are designed for programming all aspects of managing Microsoft SQL Server. SQL Server Replication Management Objects (RMO) is a collection of objects that encapsulates SQL Server replication management.



سوال : چه جوری می تونم با SMO لیست تمام نمونه(instances) های sqlserver رو پیدا کنم

جواب:



System.Data.DataTable dataTable = SmoApplication.EnumAvailableSqlServers(false);

DataRow[] dr =dataTable.Select();

foreach (System.Data.DataRow col in dr)
{

serverCobobox.Items.Add(col["Name"]);
}

روش 2 :در این روش به جای name از ServerName استفاده کنید


System.Data.Sql.SqlDataSourceEnumerator.Instance;


سوال 2: چه جوری با SMO به سرور connect بشیم

جواب: به راحتی


ServerConnection ServerConn = new ServerConnection();

ServerConn.ServerInstance =myinstance

= myinstance اسم instance مورد نظر


ServerConn.ConnectTimeout = (Int32)TimeoutUpDown.Value;
if (WindowsAuthenticationRadioButton.Checked == true)
{
// Use Windows authentication
ServerConn.LoginSecure = true;
}


این کد بررسی می کنه ببینه ایا نوع Authentication ویندوزی هستش

در غیر این صورت :با pass و username



else
{
// Use SQL Server authentication
ServerConn.LoginSecure = false;
ServerConn.Login = UserNameTextBox.Text;
ServerConn.Password = PasswordTextBox.Text;
}


در اخر هم


ServerConn.Connect();


توضیح کلی: SMO با sqlserver2005 معرفی شد و در کل یه سری library(مجموعه ای از اشیا) هستش که در اختیار برنامه نویس قرار می گیره تا به وسیله ی ان sqlserver رو مدیریت کنن
یعنی بتونن برنامه هایی مثل SQL Server Management Studio بنویسن

در این مجموعه سوال حواب سعی می کنم از ارتباط به سرور گرفته تا ایجاد و مدیریت جدول و پایگاه داده و... رو بررسی کنم

ادامه دارد...

khorshidico
دوشنبه 10 خرداد 1389, 07:50 صبح
با سلام
من یک mask text box درست کردم که فقط عدد میگیره.
اما چون تاریخ هست میخوام اگر عددی بیشتر از مثلا 12 برای ماه گرفت پیغام خطای فارسی بده
من یک کد نوشتم اما هنگام اجرای برنامه وقتی با تب کیبورد روی اون تکست باکس میرم پیغام خطا میده.
میتونین بهم کمک کنید ؟
خیلی لازم دارم بهش...
ممنون
کد:
privatevoid txtYS_KeyUp(object sender, KeyEventArgs e){if (int.Parse(txtYS.Text) > 12)MessageBox.Show("عدد وارد شده برای سال صحیح نمی باشد");
من از این کد استفاده کردم که خطا میگیره

khorshidico
دوشنبه 10 خرداد 1389, 07:51 صبح
نوشته شده توسط khorshidico http://barnamenevis.org/forum/images/buttons/viewpost.gif (http://barnamenevis.org/forum/showthread.php?p=996097#post996097)
با سلام
من یک mask text box درست کردم که فقط عدد میگیره.
اما چون تاریخ هست میخوام اگر عددی بیشتر از مثلا 12 برای ماه گرفت پیغام خطای فارسی بده
من یک کد نوشتم اما هنگام اجرای برنامه وقتی با تب کیبورد روی اون تکست باکس میرم پیغام خطا میده.
میتونین بهم کمک کنید ؟
خیلی لازم دارم بهش...
ممنون




privatevoid txtYS_KeyUp(object sender, KeyEventArgs e)
{
if (int.Parse(txtYS.Text) > 89)
MessageBox.Show("م§§ «ںé ­¥ی¥ ëêی ں¬§");



من از این کد استفاده کردم که خطا میگیره