نمایش نتایج 1 تا 12 از 12

نام تاپیک: قطعه کد برای بردر استایل

  1. #1

    قطعه کد برای بردر استایل

    با سلام خدمت همه.بنده در سی شارپ در ویژوال استادیو . یه پروژه جدید ساختم که FormBorderStyle آن را روی None قرار دادم و اون علامت Exit , Minimize , RestoreDown رفت تا خودم بسازم . وقتی این کارار کردن یه پنل گذاشتم تا دکمه هایم را در اون آن قرار بدم و بعد از تموم شدم کارم برنامه را که اجرا کردن متاسفانه نمیتونستم پنجره برنامه را جا به جا کنم میدونم یه کدی باید در پنل بزنم تا بتونم جا به جا کنم ولی یادم رفتم ممنون میشم کد را به من بگید.

  2. #2
    کاربر دائمی
    تاریخ عضویت
    آذر 1391
    محل زندگی
    گنبد کاووس
    پست
    296

    نقل قول: قطعه کد برای بردر استایل (مهم)

     نحوه جابجايي فرم با استفاده از 
    API
    ابتدا Namespace زير رو به برنامه اضافه کنيد

    using System.Runtime.InteropServices;

    سپس کد زير رو به ابتداي برنامه اضافه کنيد

    public const int WM_NCLBUTTONDOWN = 0xA1;
    public const int HT_CAPTION = 0x2;
    [DllImportAttribute("user32.dll")]
    public static extern int SendMessage(IntPtr hWnd,int Msg, int wParam, int lParam);
    [DllImportAttribute("user32.dll")]
    public static extern bool ReleaseCapture();

    حالا کد زير را در رويداد MouseDown هر شي که خواستيد اضافه کنيد

    if (e.Button == MouseButtons.Left)
    {
    ReleaseCapture();
    SendMessage(this.Handle, 0xa1, 0x2, 0);
    }
    ..............................
    جابه جا کردن فرم با کليک بر روي هر قسمت آن با توابع
    API


    using System.Runtime.InteropServices;
    [DllImport("user32.dll")]
    static extern int ReleaseCapture();
    [DllImport("user32.dll", EntryPoint = "SendMessageA")]
    static extern int SendMessage(int hwnd, int wMsg, int wParam, object lParam);
    private const int WM_NCLBUTTONDOWN = 161;
    private void Form1_MouseDown(object sender, MouseEventArgs e)
    {
    ReleaseCapture();
    SendMessage(this.Handle.ToInt32(), WM_NCLBUTTONDOWN, 2, 0);
    }
    .................................
    جابه جا کردن فرم با کليک بر روي هر قسمت آن

    private bool dragging;
    private Point pointClicked;
    private void Form1_MouseDown(object sender, MouseEventArgs e)
    {
    if (e.Button == MouseButtons.Left)
    {
    // Turn drag mode on and store the point clicked.
    dragging = true;
    pointClicked = new Point(e.X, e.Y);
    }
    else
    {
    dragging = false;
    }
    }
    private void Form1_MouseMove(object sender, MouseEventArgs e)
    {
    if (dragging)
    {
    Point pointMoveTo;
    // Find the current mouse position in screen coordinates.
    pointMoveTo = this.PointToScreen(new Point(e.X, e.Y));
    // Compensate for the position the control was clicked.
    pointMoveTo.Offset(-pointClicked.X, -pointClicked.Y);
    // Move the form.
    this.Location = pointMoveTo;
    }
    }
    private void Form1_MouseUp(object sender, MouseEventArgs e)
    {
    dragging = false;
    }
    .....................................

  3. #3

    نقل قول: قطعه کد برای بردر استایل (مهم)

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

  4. #4
    کاربر دائمی آواتار یونس ابراهیمی
    تاریخ عضویت
    آذر 1391
    محل زندگی
    کوهدشت
    سن
    42
    پست
    195

    نقل قول: قطعه کد برای بردر استایل (مهم)


    using System.Windows.Forms;
    using System.Runtime.InteropServices;

    namespace WindowsFormsApplication1
    {
    public partial class Form1 : Form
    {
    [DllImport("user32.dll")]
    static extern int ReleaseCapture();
    [DllImport("user32.dll", EntryPoint = "SendMessageA")]
    static extern int SendMessage(int hwnd, int wMsg, int wParam, object lParam);
    private const int WM_NCLBUTTONDOWN = 161;

    public Form1()
    {
    InitializeComponent();
    }

    private void Panel1_MouseDown(object sender, MouseEventArgs e)
    {
    ReleaseCapture();
    SendMessage(this.Handle.ToInt32(), WM_NCLBUTTONDOWN, 2, 0);
    }
    }
    }


    یا
    یکی از قابلیت های ساده اما بسیار کاربردی که راحتی کار با برنامه شما را برای کاربر بیشتر می کند ، انتفال فرم با ماوس با کلیک کردن روی هر نقطه ای از آن است .
    با استفاده از کد زیر که از توابع API در آن استفاده شده است ، می توانید به آسانی این کار را انجام دهید .
    ابتدا فضای نام زیر را در برنامه وارد کنید
    using System.Runtime.InteropServices;
    سپس از کد زیر در رویداد MouseDown فرم استفاده کنید :
    [DllImport("user32.dll")]
    static extern int ReleaseCapture();
    [DllImport("user32.dll", EntryPoint = "SendMessageA")]
    static extern int SendMessage(int hwnd, int wMsg, int wParam, object lParam);
    private const int WM_NCLBUTTONDOWN = 161;

    private void Panel1_MouseDown(object sender, MouseEventArgs e)
    {
    ReleaseCapture();
    SendMessage(this.Handle.ToInt32(), WM_NCLBUTTONDOWN, 2, 0);
    }

    منبع : w3-farsi.com

  5. #5

    نقل قول: قطعه کد برای بردر استایل (مهم)

    داداش کد دئمی خوب دادی ولی من میخام وقتی روی panel1 کلیک کردن و اونو darg کرد بتونه جا به جا کنه فقط اون قسمتو بتونه

  6. #6
    کاربر دائمی آواتار یونس ابراهیمی
    تاریخ عضویت
    آذر 1391
    محل زندگی
    کوهدشت
    سن
    42
    پست
    195

    نقل قول: قطعه کد برای بردر استایل (مهم)

    نقل قول نوشته شده توسط amir000555 مشاهده تاپیک
    داداش کد دئمی خوب دادی ولی من میخام وقتی روی panel1 کلیک کردن و اونو darg کرد بتونه جا به جا کنه فقط اون قسمتو بتونه
    کد رو اصلاح کردم، اگر panel رو Dock کردین، تو رویداد mouseDown پنل بنویسین درست میشه

  7. #7

    نقل قول: قطعه کد برای بردر استایل (مهم)

    یه اصلاح کنید دوباره ارور می ده کاراکتر های { این ارور میده

  8. #8
    کاربر دائمی آواتار یونس ابراهیمی
    تاریخ عضویت
    آذر 1391
    محل زندگی
    کوهدشت
    سن
    42
    پست
    195

    نقل قول: قطعه کد برای بردر استایل (مهم)

    حق با شماست کد زیر اصلا مشکل نداره


    using System;
    using System.Collections.Generic;
    using System.ComponentModel;
    using System.Data;
    using System.Drawing;
    using System.Linq;
    using System.Text;
    using System.Windows.Forms;
    using System.Runtime.InteropServices;

    namespace WindowsFormsApplication1
    {
    public partial class Form1 : Form
    {
    public Form1()
    {
    InitializeComponent();
    }

    public const int WM_NCLBUTTONDOWN = 0xA1;
    public const int HT_CAPTION = 0x2;

    [System.Runtime.InteropServices.DllImportAttribute( "user32.dll")]
    public static extern int SendMessage(IntPtr hWnd, int Msg, int wParam, int lParam);
    [System.Runtime.InteropServices.DllImportAttribute( "user32.dll")]
    public static extern bool ReleaseCapture();

    private void panel1_MouseDown(object sender, MouseEventArgs e)
    {
    if (e.Button == MouseButtons.Left)
    {
    ReleaseCapture();
    SendMessage(Handle, WM_NCLBUTTONDOWN, HT_CAPTION, 0);
    }
    }
    }
    }

  9. #9

    نقل قول: قطعه کد برای بردر استایل (مهم)

    این را باید کجا قرار بدم؟

  10. #10

    نقل قول: قطعه کد برای بردر استایل (مهم)

    ببینید من این کد زیر را وارد کردم

    using System;
    using System.Collections.Generic;
    using System.ComponentModel;
    using System.Data;
    using System.Drawing;
    using System.Linq;
    using System.Text;
    using System.Threading.Tasks;
    using System.Windows.Forms;
    using System.Runtime.InteropServices;


    namespace New_Browser
    {
    public partial class Form1 : Form
    {
    public Form1()
    {
    InitializeComponent();
    }


    private void panel1_MouseDown(object sender, MouseEventArgs e)
    {
    if (e.Button == MouseButtons.Left)
    {
    ReleaseCapture();
    SendMessage(Handle, WM_NCLBUTTONDOWN, HT_CAPTION, 0);
    }
    }
    }
    }



    ولی ارور میده میشه روی همین بگین
    آخرین ویرایش به وسیله Mahmoud.Afrad : جمعه 10 دی 1395 در 01:12 صبح

  11. #11
    کاربر دائمی آواتار یونس ابراهیمی
    تاریخ عضویت
    آذر 1391
    محل زندگی
    کوهدشت
    سن
    42
    پست
    195

    نقل قول: قطعه کد برای بردر استایل (مهم)

    نقل قول نوشته شده توسط amir000555 مشاهده تاپیک
    این را باید کجا قرار بدم؟
    یه کم به کد بالا دقت کنید متوجه میشین

    qqqqqqq.jpg

  12. #12

    نقل قول: قطعه کد برای بردر استایل (مهم)

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

تاپیک های مشابه

  1. سوال: یه تابع یا قطعه کد برای تغییر نام فایل ها
    نوشته شده توسط qhoqnose در بخش Access
    پاسخ: 2
    آخرین پست: چهارشنبه 22 تیر 1390, 23:00 عصر
  2. سوال: اجراي يك قطعه كد براي رويداد change چندين كنترل textbox
    نوشته شده توسط HABIB_TANHA در بخش ASP.NET Web Forms
    پاسخ: 0
    آخرین پست: چهارشنبه 18 اسفند 1389, 15:19 عصر
  3. سوال: قطعه کد برای Trigger کردن در SQL2008
    نوشته شده توسط rojarose در بخش SQL Server
    پاسخ: 1
    آخرین پست: سه شنبه 21 اردیبهشت 1389, 20:43 عصر
  4. سوال: نوشتن قطعه کد برای Download در ASP.NET
    نوشته شده توسط sa.namvar در بخش ASP.NET Web Forms
    پاسخ: 1
    آخرین پست: سه شنبه 23 تیر 1388, 15:47 عصر
  5. 1118 قطعه کد برای برنامه نویسان VB
    نوشته شده توسط مهران رسا در بخش برنامه نویسی در 6 VB
    پاسخ: 4
    آخرین پست: یک شنبه 18 فروردین 1387, 15:47 عصر

قوانین ایجاد تاپیک در تالار

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