گروه برنامه نویسان گینو

۱۱ مطلب با موضوع «سی شارپ» ثبت شده است

۲۹مرداد

با سلام

شاید در برنامه هایی که می نویسید نیاز به اجرای همزمان چندین عمل داشته باشید یا برنامه ای نوشتید که عملیات های سنگین انجام می دهد به عنوان مثال Backup  یا عملیات های سنگین ریاضی...

با thread شما می توانید اعمالی را به صورت parallel (موازی) و همزمان انجام دهید و می توانید یک قسمت برنامه را متوقف یا به جریان بندازید.

برای استفاده از کلاس های thread از system.threading استفاده می شود.

یک مثال ساده:

فرض کنید یه تابع دارید که عملیات سنگین انجام می دهد و قصد دارید همزمان با thread اصلی برنامه اجرا شود

void test_tabe()

{

.

.

.


}

thread testThread = new thread (new threadstart (test_tabe));

testThread.start();

برای از بین بردن هم می توانید از testThread.Abort استفاده کنید.



مدیر
۱۲مرداد
با سلام

برای بدست آوردن مختصات موس بر روی فرم (همانند نمایش مختصات موس در paint) بر روی  Event MouseMove  کلیک کرده و با استفاده از MouseEventArgs به راحتی مختصات موس را بدست آورید!!!



 private void form_MouseMove(object sender, MouseEventArgs e)
        {
            label1.Text = e.X + ","+e.Y ;
        }
مدیر
۳۰تیر

با سلام

وقتی اطلاعات یک دیتاگرید خیلی زیاد باشد شاید نیاز به جست و جو در اطلاعات را داشته باشید یا به طور کلی جست و جوی سریع در اطلاعات بانک اطلاعاتی

در این روش می توانید با زدن یک حرف همه اطلاعاتی که با اون حرف شروع/پایان یا در آن وجود دارد را پیدا کنید!!

برای این کار ابتدا باید یه Query بنویسد:

در این Query بر روی اطلاعات Select می زنیم و برای شرط Where از دستور LIKE استفاده می کنیم:

select KalaName    from tblkala where KalaName like 'م'+'%'

در مثال بالا تمام KalaName هایی که با 'م' شروع می شود را پیدا میکند

اگر % را در ابتدا قرار دهیم تمام KalaNameهایی که با 'م'  پایان می یابد را برمی گرداند و اگر هم ابتدا و انتها % بگذاریم تمام KalaNameهایی در آن 'م' وجود دارد را بر می گرداند

حال می توانید به جای م از مقدار ورودی استفاده کنید(name@)

این Query  را به صورت stored Procedure ذخیره می کنیم

سپس در خاصیت textchenge یک textbox این SP  را فراخوانی میکنیم و به دیتاگرید نسبت می دهیم


فیلم آموزشی را هم می توانید دانلود کنید:


دریافت
حجم: 10.7 مگابایت


مدیر
۳۰تیر

با سلام


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

برای این کار می توانیم event یه textbox را به DGV نسبت دهیم

به عنوان مثال برای این که کاربر فقط عدد وارد کند می توانیم در event KeyPress ، تکست باکس این کد را بنویسم:


  private void txtMaliat_KeyPress(object sender, KeyPressEventArgs e)
        {
            if (!char.IsNumber(e.KeyChar) && !char.IsControl(e.KeyChar))
            e.Handled = true;
        }


سپس این را به event EditingControlShowing دیتاگرید نسبت دهیم:



        private void dataGridViewX2_EditingControlShowing(object sender, DataGridViewEditingControlShowingEventArgs e)
        {

    TextBox text = e.Control as TextBox;
            if (dataGridViewX2.CurrentCell.ColumnIndex == dataGridViewX2.Columns["kod"].Index)

       {

                if (text != null)
                    text.KeyPress += new KeyPressEventHandler(txtMaliat_KeyPress);

            }
            else
                if (text != null)
                    text.KeyPress -= new KeyPressEventHandler(txtMaliat_KeyPress);

در شرط if ایندکس فیلدی که در حال تغییر است را با ایندکس ستونی که می خواهیم اعمال کنیم بررسی می کنیم

مدیر
۳۰تیر

LZW الگوریتم مورد استفاده در بسیاری از نرم‌افزارهای عمومی فشرده سازی اطلاعات مانند pkzip و gzip می‌باشد این الگوریتم بدین منظور طراحی شده که تعداد بیت‌هایی که به دیسک فرستاده می‌شود یا از دیسک خوانده می‌شود کمتر کند. همچنین از این الگوریتم در بسیاری از زمینه‌ها مانند برنامه‌های فشرده سازی GIF برای تصاویر استفاده می‌شود که به طور میانگین حجم تصویر را به یک سوم کاهش می‌دهد. الگوریتم LZW یک الگوریتم برگشت پذیر(reversible) است...



دریافت
حجم: 86.6 کیلوبایت

مدیر
۰۸خرداد
در این فیلم آموزشی با ساخت فرم های سفارشی در #C آشنا می شوید. شما می توانید فرم هایی با هر شکل خاصی ایجاد نمایید.
دانلود در ادامه مطلب...
مدیر
۳۱ارديبهشت


یکی از ساده روش های ارتباط با بانک اطلاعاتی در #C استفاده از LINQ می باشد.در این فیلم به صورت مختصر با LINQ آشنا میشید.




دریافت
حجم: 20.9 مگابایت

مدیر
۳۱ارديبهشت

برنامه هایی که می نویسید آدرس بانک اطلاعاتی شما یک مسیر بر روی سیستم خودتان می باشد و اون مسیر بر روی سیستم های دیگر وجود ندارد. یکی از روش های حل این مشکل ساختن همون مسیر بر روی سیستم مقصد و کپی کردن بانک در اون مسیر می باشد.ولی بهترین راه اینه که بانک اطلاعاتی تون رو به کنار فایل exe برنامتون منتقل کنید.(bin/debug) و از قسمت app.config از پنجره solution برنامتون این کد رو جایگزین آدرس بانکتون کنید.AttachDbFilename=|DataDirectory|\db_name.mdf 


مدیر
۳۰ارديبهشت

با سلام

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


شاید واستون این مشکل پیش اومده باشه که در هنگام استفاده از crystal report یا data grid view یا داخل خود فرم برنامتون از اعداد استفاده کرده باشین که به صورت معمول  انگلیسی نمایش داده می شود. اکثرا توصیه می کنن که از داخل control panel فرمت رو تغییر بدین اما وقتی از برنامتون setup می گیرین و رو یک سیستم دیگه نصب میکنین دوباره انگلیسی نمایش داده میشه بهترین راه حل اینه که فرمت فیلد ها تون رو b mitra قرار بدین!!! و برای احتیاط می تونین کنار فایل setup این فرمت رو هم قرار بدین.

مدیر
۰۴بهمن


معمولا اکثر برنامه نویسان برای سهولت و زیبایی برنامه های خود از کامپوننت ها استفاده می کنند. در اینجا کامپوننت Telerik.WinForms را برای  شما عزیزان گذاشته ایم.



دریافت
حجم: 80.1 مگابایت

مدیر