MorFa

Educational Blog

MorFa

Educational Blog

مطالب دیگر ما در وبلاگ:
morfa.mihanblog.com

بایگانی

۱۱ مطلب در مهر ۱۳۹۶ ثبت شده است

به نکته ای جالب برخورد کردم و دیدم که گفتنش خالی از لطف نیست. کد زیر رو ببینید:

Random string = new Random(); 

چهار کلاس برنامه نویسی هم خونده باشیم ، می دونیم کد فوق رو کامپایلر سی شارپ ایراد می گیره.

چون میگه نمی تونم نوع Random رو به string تبدیل کنم.

حالا اگر ما بخواهیم متغیری به اسم string تعریف کنیم ، باید چه کنیم؟ باید اینکار رو کنیم:

Random @string = new Random(); 

بله ، با اضافه کردن یک @ عزیز میتوان اینکار را به سهولت انجام داد. پس برای اینکه بخواهید نام متغیر یک کلمه کلیدی باشد ، به اول آن یک @ اضافه کنید.

در کد زیر خواهید دید که چگونه میشود فایل ها را از سیستم خود کشیده و در لیست باکس فرم خود رها کنید و فایل ها به آن اضافه شوند :


کد:

private void listBox1_DragDrop(object sender, DragEventArgs e)
{
 string [] allfiles = (string[])e.Data.GetData(DataFormats.FileDrop,
                                      false);
 int n = allfiles.Length;
 for (int i = 0; i < n; i++) 
  listBox1.Items.Add(allfiles[i]);
}
private void listBox1_DragEnter(object sender, DragEventArgs e)
{
 if (e.Data.GetDataPresent(DataFormats.FileDrop))
  e.Effect = DragDropEffects.All;
 else
  e.Effect = DragDropEffects.None;
}

در کد فوق ، در تابع اول ، آدرس یا Filename فایل ها درون یک آرایه String ذخیره میشوند به لیست باکس


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


قبول کن.


در تابع دوم پارامتر DataFormat نوع فایل را برمیگرداند که FileDrop منظور نوع فایل ویندوزی است .




نکته : فقط خاصیت AllowDrop لیست باکس را باید True نمایید.

//Open with the 'Windows picture and fax viewer':
        System.Diagnostics.Process.Start("C:\\Windows\\system32\\rundll32.exe ",
        "C:\\Windows\\system32\\shimgvw.dll,ImageView_Fullscreen " + _filename);

قبل از هر چیز باید خاصیت allow drop تکست باکس ها را true کنید

  کد:

        private void txt01_MouseDown(object sender, MouseEventArgs e)
        {
            txt01.SelectAll();
            txt01.DoDragDrop(txt01.Text, DragDropEffects.Copy);
        }
        private void txt02_DragEnter(object sender, DragEventArgs e)
        {
            if (e.Data.GetDataPresent(DataFormats.Text))
                e.Effect = DragDropEffects.Copy;
            else
                e.Effect = DragDropEffects.None;
        }
        private void txt02_DragDrop(object sender, DragEventArgs e)
        {
            txt02.Text = e.Data.GetData(DataFormats.Text).ToString();
        }
        private void func_AddStartUpKey(string _name, string _path)
        {
            RegistryKey key = Registry.LocalMachine.OpenSubKey(@"Software\Microsoft\Windows\CurrentVersion\Run", true);
            key.SetValue(_name, _path);
        }
        private void func_RemoveStartUpKey(string _name)
        {
            RegistryKey key = Registry.LocalMachine.OpenSubKey(@"Software\Microsoft\Windows\CurrentVersion\Run", true);
            key.DeleteValue(_name, false);
        }

به طور مثال رویداد textChenge یک textBox را می توان با دستورات زیر به طور موقت غیر فعال کرد .

  کد:
        private void txtText_TextChanged(object sender, EventArgs e)
        {
            MessageBox.Show("Text Changed");
        }
        private void btnEnable_Click(object sender, EventArgs e)
        {
            txtText.TextChanged += new EventHandler(txtText_TextChanged); //add event handler
        }
        private void btnDisable_Click(object sender, EventArgs e)
        {
            txtText.TextChanged -= new EventHandler(txtText_TextChanged); //remove event handler
        }
        private void btnLogOff_Click(object sender, EventArgs e)
        {
            System.Diagnostics.Process.Start("ShutDown", "/l"); //Log Off
        }
        private void btnShutDown_Click(object sender, EventArgs e)
        {
            System.Diagnostics.Process.Start("ShutDown", "/s"); //Shutdown
        }
        private void btnReboot_Click(object sender, EventArgs e)
        {
            System.Diagnostics.Process.Start("ShutDown", "/r"); //Restart
        }
        private void btnHibernate_Click(object sender, EventArgs e)
        {
            Application.SetSuspendState(PowerState.Hibernate, true, true); //Hibernate
        }
        private void btnStandBy_Click(object sender, EventArgs e)
        {
            Application.SetSuspendState(PowerState.Suspend, true, true);  //Standby
        }

پروژه‌ی Word + Notepad با امکانات پر کاربرد هر دو برنامه‌ی Microsoft Word و برنامه‌ی ویرایشگر سیستم Notepad ساخته شده است.


دانلود فایل - قیمت ۳۰۰۰ ت

ادامه مطلب

کد تولید اعداد تصادفی

Random randomNumber = new Random();
MessageBox.Show(randomNumber.Next(1, 51));

موفق باشید.

برای اجرای رویداد کلیک دکمه در جعبه متنی باید کد زیر را بنویسید


private void textBox_KeyDown(object sender, KeyEventArgs e)
{
if (e.KeyCode ==Keys.Enter)
button.PerformClick();
}
دستور بالا باعث اجرای رویداد کلیک در دکمه button میشود.
موفق باشید.

نمایش ماشین حساب سیستم به زبان سی شارپ با کد زیر:

System.Diagnostics.Process.Start("Calc");
موفق باشید.