ms-ninja
یک شنبه 03 مرداد 1395, 13:59 عصر
با سلام
من یک کد برای جا به جایی فرم دارم . خطایی وجود نداره ولی عمل نمی کنه
using System;
using System.Drawing;
using System.Collections;
using System.ComponentModel;
using System.Windows.Forms;
using System.Data;
//for DLL's
using System.Runtime.InteropServices;
namespace MoveWindow
{
/// <summary>
/// Zusammenfassung für Form1.
/// </summary>
public class Form1 : System.Windows.Forms.Form
{
private System.Windows.Forms.Label label1;
private Panel p1;
/// <summary>
/// Erforderliche Designervariable.
/// </summary>
private System.ComponentModel.Container components = null;
public Form1()
{
//
// Erforderlich für die Windows Form-Designerunterstützung
//
InitializeComponent();
//
// TODO: Fügen Sie den Konstruktorcode nach dem Aufruf von InitializeComponent hinzu
//
}
/// <summary>
/// Die verwendeten Ressourcen bereinigen.
/// </summary>
protected override void Dispose( bool disposing )
{
if( disposing )
{
if (components != null)
{
components.Dispose();
}
}
base.Dispose( disposing );
}
#region Vom Windows Form-Designer generierter Code
/// <summary>
/// Erforderliche Methode für die Designerunterstützung.
/// Der Inhalt der Methode darf nicht mit dem Code-Editor geنndert werden.
/// </summary>
private void InitializeComponent()
{
this.label1 = new System.Windows.Forms.Label();
this.p1 = new System.Windows.Forms.Panel();
this.SuspendLayout();
//
// label1
//
this.label1.Location = new System.Drawing.Point(8, 240);
this.label1.Name = "label1";
this.label1.Size = new System.Drawing.Size(280, 24);
this.label1.TabIndex = 0;
this.label1.Text = "To move window, click anywhere on the form and move the mouse (hold button presse" +
"d!)";
this.label1.TextAlign = System.Drawing.ContentAlignment.MiddleLeft;
//
// p1
//
this.p1.BackColor = System.Drawing.SystemColors.ActiveCaption;
this.p1.Location = new System.Drawing.Point(48, 67);
this.p1.Name = "p1";
this.p1.Size = new System.Drawing.Size(200, 60);
this.p1.TabIndex = 1;
//
// Form1
//
this.AutoScaleBaseSize = new System.Drawing.Size(5, 13);
this.ClientSize = new System.Drawing.Size(292, 273);
this.Controls.Add(this.p1);
this.Controls.Add(this.label1);
this.Name = "Form1";
this.Text = "Move me!";
this.Load += new System.EventHandler(this.Form1_Load);
this.MouseDown += new System.Windows.Forms.MouseEventHandler(this.p1_Mou seDown);
this.ResumeLayout(false);
}
#endregion
/// <summary>
/// Der Haupteinstiegspunkt für die Anwendung.
/// </summary>
[STAThread]
static void Main()
{
Application.Run(new Form1());
}
//const and dll functions for moving form
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();
//call functions to move the form in your form's MouseDown event
private void p1_MouseDown(object sender, System.Windows.Forms.MouseEventArgs e)
{
if (e.Button == MouseButtons.Left)
{
ReleaseCapture();
SendMessage(Handle, WM_NCLBUTTONDOWN, HT_CAPTION, 0);
}
}
private void Form1_Load(object sender, EventArgs e)
{
}
}
}
من یک کد برای جا به جایی فرم دارم . خطایی وجود نداره ولی عمل نمی کنه
using System;
using System.Drawing;
using System.Collections;
using System.ComponentModel;
using System.Windows.Forms;
using System.Data;
//for DLL's
using System.Runtime.InteropServices;
namespace MoveWindow
{
/// <summary>
/// Zusammenfassung für Form1.
/// </summary>
public class Form1 : System.Windows.Forms.Form
{
private System.Windows.Forms.Label label1;
private Panel p1;
/// <summary>
/// Erforderliche Designervariable.
/// </summary>
private System.ComponentModel.Container components = null;
public Form1()
{
//
// Erforderlich für die Windows Form-Designerunterstützung
//
InitializeComponent();
//
// TODO: Fügen Sie den Konstruktorcode nach dem Aufruf von InitializeComponent hinzu
//
}
/// <summary>
/// Die verwendeten Ressourcen bereinigen.
/// </summary>
protected override void Dispose( bool disposing )
{
if( disposing )
{
if (components != null)
{
components.Dispose();
}
}
base.Dispose( disposing );
}
#region Vom Windows Form-Designer generierter Code
/// <summary>
/// Erforderliche Methode für die Designerunterstützung.
/// Der Inhalt der Methode darf nicht mit dem Code-Editor geنndert werden.
/// </summary>
private void InitializeComponent()
{
this.label1 = new System.Windows.Forms.Label();
this.p1 = new System.Windows.Forms.Panel();
this.SuspendLayout();
//
// label1
//
this.label1.Location = new System.Drawing.Point(8, 240);
this.label1.Name = "label1";
this.label1.Size = new System.Drawing.Size(280, 24);
this.label1.TabIndex = 0;
this.label1.Text = "To move window, click anywhere on the form and move the mouse (hold button presse" +
"d!)";
this.label1.TextAlign = System.Drawing.ContentAlignment.MiddleLeft;
//
// p1
//
this.p1.BackColor = System.Drawing.SystemColors.ActiveCaption;
this.p1.Location = new System.Drawing.Point(48, 67);
this.p1.Name = "p1";
this.p1.Size = new System.Drawing.Size(200, 60);
this.p1.TabIndex = 1;
//
// Form1
//
this.AutoScaleBaseSize = new System.Drawing.Size(5, 13);
this.ClientSize = new System.Drawing.Size(292, 273);
this.Controls.Add(this.p1);
this.Controls.Add(this.label1);
this.Name = "Form1";
this.Text = "Move me!";
this.Load += new System.EventHandler(this.Form1_Load);
this.MouseDown += new System.Windows.Forms.MouseEventHandler(this.p1_Mou seDown);
this.ResumeLayout(false);
}
#endregion
/// <summary>
/// Der Haupteinstiegspunkt für die Anwendung.
/// </summary>
[STAThread]
static void Main()
{
Application.Run(new Form1());
}
//const and dll functions for moving form
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();
//call functions to move the form in your form's MouseDown event
private void p1_MouseDown(object sender, System.Windows.Forms.MouseEventArgs e)
{
if (e.Button == MouseButtons.Left)
{
ReleaseCapture();
SendMessage(Handle, WM_NCLBUTTONDOWN, HT_CAPTION, 0);
}
}
private void Form1_Load(object sender, EventArgs e)
{
}
}
}