PDA

View Full Version : کشیدن و زدن فرم به بالای صفحه نمایشگر



محمد اتابک زاده
پنج شنبه 06 شهریور 1399, 11:31 صبح
ببخشید دوستان کسی نمیدونه اصطلاحا به این قابلیت چی میگن:
152079
لازم دارم در این مورد یه تحقیقی کنم نمیدونم اصلا اسمش چیه

M.sheaikhzadeh
پنج شنبه 06 شهریور 1399, 12:16 عصر
بهش میگن :

Maximize on top drag

ولی چون ربطی به این تالار نداره احتمالا پستت حذف بشه !! :شیطان:

محمد اتابک زاده
پنج شنبه 06 شهریور 1399, 12:25 عصر
خب میخواستم اگه بشه تو بروژه سی شاربم داشته باشمش یادم رفت بنویسم:
152081

محمد اتابک زاده
پنج شنبه 06 شهریور 1399, 12:29 عصر
یه فرم سفارشی سی شارپ درست کردم نمیشه این رو بهش اضافه کرد؟
تو تصویر بالا معلومه.(البته تصویر گیف بوده اینجا اینطوری شده)

مهدی کرامتی
پنج شنبه 06 شهریور 1399, 12:48 عصر
این رو تست کنید:
public partial class Form1 : Form {
public Form1() {
InitializeComponent();
}
private const int SnapDist = 100;
private bool DoSnap(int pos, int edge) {
int delta = pos - edge;
return delta > 0 && delta <= SnapDist;
}
protected override void OnResizeEnd(EventArgs e) {
base.OnResizeEnd(e);
Screen scn = Screen.FromPoint(this.Location);
if (DoSnap(this.Left, scn.WorkingArea.Left)) this.Left= scn.WorkingArea.Left;
if (DoSnap(this.Top, scn.WorkingArea.Top)) this.Top = scn.WorkingArea.Top;
if (DoSnap(scn.WorkingArea.Right, this.Right)) this.Left = scn.WorkingArea.Right - this.Width;
if (DoSnap(scn.WorkingArea.Bottom, this.Bottom)) this.Top = scn.WorkingArea.Bottom - this.Height;
}
}
در حالت چند مانیتور هم تست شده و درست کار می کنه.

محمد اتابک زاده
پنج شنبه 06 شهریور 1399, 13:21 عصر
نمشه این حالت مثل فرم های عادی باشه؟
برای مثال ویژوال استودیو یا فتوشاپ. کاملا معلومه که فرم های سفارشی دارند مثلا فتوشاپ که حتی در هدر فرم یک منو ها گذاشته اما با این حال این ویژگی رو هم دارند انگار فرم های عادی وقتی به بالای فرم بزنیشون همون مسطتیل شفاف مثل فرم های عادی نشون داده میشه.
152082
152083
اول خواستم یه فرم شفاف(مخفی) کوتاه(به طوریکه فقط هدر فرم وجود داشته باشد) رو روی هدر فرم خودم قرار بدم و درگ کردن و ... رو با این فرم انجام بدم که طبیعی شه ولی گفتم شاید راه های بهتری هم باشه. اینطوری:
152084