PDA

View Full Version : سوال: حرکت دادن فرمی که boarderstyl اون none است



ehsan7007
شنبه 14 مرداد 1391, 20:45 عصر
سلام دوستان.
یه سوال ساده داشتم:
خاصیت BoarderStyle فرمم none می باشد. حالا چجوری کاری کنم که هنگام اجرا فرم مانند فرم های معمولی حرکت کند وجابجا شود؟

و اینکه چطوری براش سایه بزارم؟

با تشکر از دوستان.

Y_Safaiee
شنبه 14 مرداد 1391, 21:04 عصر
با سلام خدمت شما دوست عزیزم

1.برای درگ کردن فرم :


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);
}


2.برای سایه دار شدن فرم :



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

private const int CS_DROPSHADOW = 0x00020000;

protected override CreateParams CreateParams
{
get
{
CreateParams p = base.CreateParams;
p.ClassStyle |= CS_DROPSHADOW;
return p;
}
}
}


موفق باشی
بایت بایت

ehsan7007
شنبه 14 مرداد 1391, 23:06 عصر
سلام.
با تشکر از شما ، اما فرمم فقط لبه های سمت راست و پائینش سایه دار می شه ، اگه بخوام هر چهارطرفرو سایه بزارم چی؟؟
البته می دونم که اون دیگه اسمش سایه نمیشه !!!!