نمایش نتایج: از شماره 1 تا 6 , از مجموع 6

موضوع: 1001نکته در سی شارپ

  1. #1
    سرپرست
    شعار بلد نیستم
    تاریخ عضویت
    Feb 2010
    محل سکونت
    ایران زمین
    نوشته ها
    25,693
    تشکر تشکر کرده 
    20,666
    تشکر تشکر شده 
    10,290
    تشکر شده در
    4,519 پست
    حالت من : Motarez
    قدرت امتیاز دهی
    4891
    Array

    پیش فرض 1001نکته در سی شارپ

    هدف از این تاپیک، صرفا جمع آوری برخي نکات و ترفندهای خلاصه و مفید برنامه نویسی در سی شارپ تحت دات نت فریمورک است. بدلیل تنوع کاربران تالار و گستردگی زبان و فریمورک؛ لزومی ندارد نکته ای که در اين تاپيك ارسال ميشود موضوعی غامض و چشمگیر باشد؛ در واقع هر نکته ای که به شکل صحیح ارسال شود، میتواند مفید باشد. لطفا قبل از ارسال هر نكته - با مراجعه به ليست نكات - از تكراري نبودن آن اطمينان حاصل نماييد.
    ماهيت تاپيك
    این تاپیک محل مناسبی برای این موارد نیست :
    آموزش برنامه نویسی، سئوال و جواب کردن، سعی در اثبات برتری یک روش خاص، خورده گیری از مطالب ارسالی دیگران، ارسال مطالب غیرفنی و نامرتبط و ...
    لذا چنانچه راجع به هر یک از نکات سئوال و یا مشکلی پیش آمد، لطفا موضوع رو از طریق ارسال پیام خصوصی به نویسنده مطلب و یا طرح در یک تاپیک مستقل، حل و فصل کنید.
    زبان پیشفرض
    زبان پیشفرض ارسال کد در این تاپیک سی شارپ و زبان محاوره ای جهت توضیحات فارسی است.
    چنانچه موضوع ارسالی را از سایتی انگلیسی زبان برداشت میکنید حداقل چند خط از موضوع آن را به فارسی ترجمه نمایید.
    چکیده نویسی
    نکات و ترفندها رو بصورت کاملا خلاصه، مفید و ماژولار (تمرکز هر پست تنها روی یک نکته باشد) ارسال نمایید و از درج هرگونه نکته ی طولانی خودداری و چنانچه نکته ی قابل توجه ای سراغ دارید که نیاز به کدنویسی و توضیحات طولانی دارد؛ تنها به یک اشاره کوچک بسنده و فایل سورس و یا توضیحات کامل را ضمیمه فرمایید.
    درج عنوان پست

    1. عنوان مناسب و مختصری برای مطلب ارسالی خود پیدا کرده و آن را در قسمت عنوان پست بنویسید.
    2. عنوان پست را دقیق و قطعی انتخاب نمایید؛ برای مثال عنوان : "چند نکته مهم در سی شارپ" نامناسب است و یا بجای عنوان : "چند فیلم آموزشی مفید" بهتر است بنویسید : "معرفی لینک دانلود چند فیلم آموزشی رايگان در مورد linq"

    درج رفرنس اصلی و نكات تست شده
    چنانچه نکته ارسالی را از منبعی برداشت میکنید لطفا لینک اصلی آن را نیز در انتهای مطلب درج فرمایید. (با اینکار سایر دوستان نیز میتوانند با مراجعه به لینک از جزییات نکته ارسالی بیشتر مطلع گردند.) و تنها نکات و مطالبی رو ارسال کنید که خود شما تست کرده و از صحت عملکرد اونها مطمئن هستید.


    در دنیا هیچ بن بستی نیست.یا راهی خواهم یافت،یا راهی خواهم ساخت



  2. #2
    سرپرست
    شعار بلد نیستم
    تاریخ عضویت
    Feb 2010
    محل سکونت
    ایران زمین
    نوشته ها
    25,693
    تشکر تشکر کرده 
    20,666
    تشکر تشکر شده 
    10,290
    تشکر شده در
    4,519 پست
    حالت من : Motarez
    قدرت امتیاز دهی
    4891
    Array

    پیش فرض

    حاشیه دار کردن کنترل TextBox با یک رنگ دلخواه در کلاس TextBox خود (و یا سایر کنترلهای دلخواه : کامبوباکس، لیست باکس و ...) بنویسید :
    کد:
    کد HTML:
    private static int WM_NCPAINT = 0x0085;
    private static int WM_ERASEBKGND = 0x0014;
    private static int WM_PAINT = 0x000F;
    
    [DllImport("user32.dll")]
    static extern IntPtr GetDCEx(IntPtr hwnd, IntPtr hrgnclip, uint fdwOptions);
    
    [DllImport("user32.dll")]
    static extern int ReleaseDC(IntPtr hwnd, IntPtr hDC);
    
    protected override void WndProc(ref Message m)
    {
        base.WndProc(ref m);
        if (m.Msg == WM_NCPAINT || m.Msg == WM_ERASEBKGND || m.Msg == WM_PAINT)
        {
            IntPtr hdc = GetDCEx(m.HWnd, (IntPtr)1, 1 | 0x0020);
    
            if (hdc != IntPtr.Zero)
            {
                Graphics graphics = Graphics.FromHdc(hdc);
                Color borderColor = Color.Blue;
                Rectangle rectangle = new Rectangle(0, 0, this.Width, this.Height);
                ControlPaint.DrawBorder(graphics, rectangle, borderColor, ButtonBorderStyle.Solid);
                m.Result = (IntPtr)1;
                ReleaseDC(m.HWnd, hdc);
            }
        }
    }
    توجه داشته باشید که انجام اینکار صرفا بوسیله override کردن رویداد paint و رسم یک مستطیل امکانپذیر نیست.

    در دنیا هیچ بن بستی نیست.یا راهی خواهم یافت،یا راهی خواهم ساخت



  3. #3
    سرپرست
    شعار بلد نیستم
    تاریخ عضویت
    Feb 2010
    محل سکونت
    ایران زمین
    نوشته ها
    25,693
    تشکر تشکر کرده 
    20,666
    تشکر تشکر شده 
    10,290
    تشکر شده در
    4,519 پست
    حالت من : Motarez
    قدرت امتیاز دهی
    4891
    Array

    پیش فرض

    حو شدن تدریجی یک فرم با تغییر دادن خاصیت Opacity کد:
    کد HTML:
    private void button1_Click(object sender, EventArgs e)
    {
        this.Opacity = 1;
        for (int i = 0; i < 100; i++)
        {
            this.Opacity -= 0.01;
            Application.DoEvents();
        }
    }
    this به آبجکت فعلی از فرم اشاره دارد.

    در دنیا هیچ بن بستی نیست.یا راهی خواهم یافت،یا راهی خواهم ساخت



  4. #4
    سرپرست
    شعار بلد نیستم
    تاریخ عضویت
    Feb 2010
    محل سکونت
    ایران زمین
    نوشته ها
    25,693
    تشکر تشکر کرده 
    20,666
    تشکر تشکر شده 
    10,290
    تشکر شده در
    4,519 پست
    حالت من : Motarez
    قدرت امتیاز دهی
    4891
    Array

    پیش فرض



    نتقال آیتمهای یک آرایه از اعداد به یک لیست باکس کد:
    [HTML]int[] numbers = { 12, 23, 34, 45, 56, 67 };
    Object[] oNumbers = new Object[numbers.Length];
    numbers.CopyTo(oNumbers, 0);
    listBox1.Items.AddRange(oNumbers);[/HTML

    در دنیا هیچ بن بستی نیست.یا راهی خواهم یافت،یا راهی خواهم ساخت



  5. #5
    سرپرست
    شعار بلد نیستم
    تاریخ عضویت
    Feb 2010
    محل سکونت
    ایران زمین
    نوشته ها
    25,693
    تشکر تشکر کرده 
    20,666
    تشکر تشکر شده 
    10,290
    تشکر شده در
    4,519 پست
    حالت من : Motarez
    قدرت امتیاز دهی
    4891
    Array

    پیش فرض

    پیاده سازی حالت ساده ی الگوی سینگلتون در یک کلاس

    کد HTML:
    sealed class SingletonClass
    {
        // Static members are lazily initialized.
        // .NET guarantees thread safety for static initialization
        private static readonly SingletonClass instance =
            new SingletonClass();
    
        // Note: constructor is private.
        private SingletonClass(){}
    
        public static SingletonClass GetInstance()
        {
            return instance;
        }
    }

    در دنیا هیچ بن بستی نیست.یا راهی خواهم یافت،یا راهی خواهم ساخت



  6. #6
    سرپرست
    شعار بلد نیستم
    تاریخ عضویت
    Feb 2010
    محل سکونت
    ایران زمین
    نوشته ها
    25,693
    تشکر تشکر کرده 
    20,666
    تشکر تشکر شده 
    10,290
    تشکر شده در
    4,519 پست
    حالت من : Motarez
    قدرت امتیاز دهی
    4891
    Array

    پیش فرض

    رسم یک چندضلعی توپر روی یک فرم
    کد:
    کد HTML:
    private void Form1_Paint(object sender, PaintEventArgs e)
    {
        Graphics g = e.Graphics;
        // Create pen.
        Pen blackPen = new Pen(Color.Black, 3);
        // Create points that define polygon.
        Point point1 = new Point(30, 50);
        Point point2 = new Point(100, 25);
        Point point3 = new Point(200, 5);
        Point point4 = new Point(250, 50);
        Point point5 = new Point(270, 100);
        Point point6 = new Point(250, 250);
        Point[] curvePoints = {point1, point2, point3, point4, point5, point6};
        // Draw polygon to screen.
        g.DrawPolygon(blackPen, curvePoints);
        // Fill polygon
        g.FillPolygon(Brushes.Red, curvePoints);
    }

    در دنیا هیچ بن بستی نیست.یا راهی خواهم یافت،یا راهی خواهم ساخت



برچسب ها برای این تاپیک

علاقه مندی ها (بوک مارک ها)

علاقه مندی ها (بوک مارک ها)

مجوز های ارسال و ویرایش

  • شما نمیتوانید موضوع جدیدی ارسال کنید
  • شما امکان ارسال پاسخ را ندارید
  • شما نمیتوانید فایل پیوست در پست خود ضمیمه کنید
  • شما نمیتوانید پست های خود را ویرایش کنید
  •  

http://www.worldup.ir/