PDA

View Full Version : جابه جا کردن فرم در ویندوز



mohsen_Iran
شنبه 08 تیر 1387, 15:19 عصر
سلام
می خواستم بدونم که چه چوری کدی بنویسم که یک فرم رو در صفحه ویندوز جابه جا بکنه (به طور دستی خودم این کارو بکنم )؟؟

mohsen_Iran
دوشنبه 10 تیر 1387, 11:23 صبح
خیلی ممنون از اینکه توجه کردید ؟!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! !!!!!!!!!!!!!!!!!!

Sajjad.Aghapour
دوشنبه 10 تیر 1387, 11:56 صبح
سلام دوست عزیز
اگه توی این سایت سوالی پرسیدید که جواب نگرفتید بدونید اشکال از خودتونه.حالا خودت یه بار دیگه سوالت رو بخون ببین یه خورده مبهم نیست؟.یه توضیح کامل بدید...
اینکه کد بنویسید و به طور دستی این کار رو بکنید یعنی چی؟

Sajjad.Aghapour
دوشنبه 10 تیر 1387, 12:16 عصر
فکر کنم منظورت این باشه..


int x, y;
privatevoid Form1_MouseDown(object sender, MouseEventArgs e)
{
x = e.X;
y = e.Y;
}
privatevoid Form1_MouseMove(object sender, MouseEventArgs e)
{
if (e.Button == MouseButtons.Left)
this.Location = newPoint(this.Location.X + (e.X - x), this.Location.Y + (e.Y - y));
}

gdevnb
دوشنبه 10 تیر 1387, 12:17 عصر
سلام
دوست عزیز سوالت گنگه.
ولی اگه میخوای موقعیت رو از طریق کد نویسی تغییر بدی.(برداشت من)


this.Left= 110;
this.Top = 50;

sinpin
دوشنبه 10 تیر 1387, 12:27 عصر
همينطور كه دوستان اشاره كردند سئوال رو مبهم مطرح كرديد.
اگه روي طرح سئوال فقط چند دقيقه بيشتر وقت بزاريم؛ گاهي باعث ميشه چند روز زودتر به پاسخ دلخواه برسيم.

موفق باشيد.

ASKaffash
دوشنبه 10 تیر 1387, 12:45 عصر
همينطور كه دوستان اشاره كردند سئوال رو مبهم مطرح كرديد.
اگه روي طرح سئوال فقط چند دقيقه بيشتر وقت بزاريم؛ گاهي باعث ميشه چند روز زودتر به پاسخ دلخواه برسيم.

موفق باشيد.

سلام
بنظرمن شما کامل جواب را دادید و برنامه را تست کردم خیلی عالی بود فقط اگر میتوانید به من کمک کنید وبگوئید با کدام کلاس میتوان فهمید که مختصات موس فارغ از حرکت روی هر فرم یا شی نسبت به صفحه نمایش کجاست ؟

sinpin
سه شنبه 18 تیر 1387, 08:04 صبح
برنامه را تست کردم خیلی عالی بود
كدوم برنامه ؟!

فقط اگر میتوانید به من کمک کنید وبگوئید با کدام کلاس میتوان فهمید که مختصات موس فارغ از حرکت روی هر فرم یا شی نسبت به صفحه نمایش کجاست ؟كلاسهاي داخلي دات نت فريمورك رو نميدونم اما يك API هست فكر ميكنم بنام :‌ GetCursorPos كه از اون طريق ميتوانيد...

jeus
سه شنبه 18 تیر 1387, 09:58 صبح
دوستان من توی یک برنامه دیدم که وقتی در حال کوچیک کردن پنجره بود وقتی به یک حد مشخص میرسید کوچیکتر نمیشد و در عوض همراه موس جابجا میشد و جالبی اش اینجا بود که وقتی موس را بر میگردوندی به نقطه ای که جابجایی از اونجا شروع شده بود تازه از اونجا به بعد صفحه شروع به بزرگ شدن میکرد به نظر من خیلی جالب اومد میشه راهنماییم کنید که چجوری این کار باید انجام بشه ؟

Mahdi.Kiani
سه شنبه 18 تیر 1387, 10:54 صبح
كدوم برنامه ؟!
كلاسهاي داخلي دات نت فريمورك رو نميدونم اما يك API هست فكر ميكنم بنام :‌ GetCursorPos كه از اون طريق ميتوانيد...
اگر درست متوجه سوال شده باشم :
متد PointToScreen این عمل را انجام میده..

mehdi.mousavi
چهارشنبه 19 تیر 1387, 16:47 عصر
كدوم برنامه ؟! كلاسهاي داخلي دات نت فريمورك رو نميدونم اما يك API هست فكر ميكنم بنام :‌ GetCursorPos كه از اون طريق ميتوانيد...

سلام.
Cursor.Position در .NET معادل GetCursorPos در Win32 هستش.

جناب کیانی: متود PointToScreen وظیفه تبدیل مختصات یک نقطه در دستگاه مختصات Client به دستگاه مختصات Screen رو بر عهده داره.

Mahdi.Kiani
چهارشنبه 19 تیر 1387, 20:57 عصر
سلام.
Cursor.Position در .NET معادل GetCursorPos در Win32 هستش.

جناب کیانی: متود PointToScreen وظیفه تبدیل مختصات یک نقطه در دستگاه مختصات Client به دستگاه مختصات Screen رو بر عهده داره.

خوب من فکر کنم منظور شخص سوال کننده هم همین باشه




فقط اگر میتوانید به من کمک کنید وبگوئید با کدام کلاس میتوان فهمید که مختصات موس فارغ از حرکت روی هر فرم یا شی نسبت به صفحه نمایش کجاست ؟







Computes the location of the specified client point into screen coordinates.



یا شاید هنوز من درست سوال را متوجه نشدم...

ولی در عین حال فکر کنم، چیزی که ایشون دنبالش هستند ( مشکلی که باعاش روبرو هستند) با Cursor.Position حل میشه...

در کل همانطور هم از اول تاپیک تا اینجا بار ها اشاره شد، سوالاتتون نا مفهومه....

Sajjad.Aghapour
چهارشنبه 19 تیر 1387, 22:27 عصر
سلام
میشه بگید تابع مربوط به این api رو باید کجا استفاده کرد.


[DllImport("user32.dll")]
Static Extern bool GetCursorPos(out Point lpPoint);

من داخل mouseMove استفاده کردم ولی فایده ای نداشت.میشه بگید کجا باید استفاده کرد.....

sinpin
چهارشنبه 19 تیر 1387, 22:42 عصر
سلام
میشه بگید تابع مربوط به این api رو باید کجا استفاده کرد.


[DllImport("user32.dll")]
Static Extern bool GetCursorPos(out Point lpPoint);
من داخل mouseMove استفاده کردم ولی فایده ای نداشت.میشه بگید کجا باید استفاده کرد.....
در يك تايمر فراخواني كنيد

Sajjad.Aghapour
چهارشنبه 19 تیر 1387, 23:37 عصر
[System.Runtime.InteropServices.DllImport("user32.dll")]
static extern bool GetCursorPos(out Point lpPoint);
.
private void Form1_Load(object sender, EventArgs e)
{
timer1.Enabled = true;
}
.
private void timer1_Tick(object sender, EventArgs e)
{
Point p;
GetCursorPos(out p);
this.Text = p.ToString();
}

این کل کد.
ولی میشه بگید چرا داخل یک تایمر ؟

Mahdi.Kiani
چهارشنبه 19 تیر 1387, 23:52 عصر
چرا از همون Cursor.Position استفاده نمی کنید؟

Sajjad.Aghapour
پنج شنبه 20 تیر 1387, 00:11 صبح
بله جناب کیانی راست میگن.دیگه این همه درد سر هم نداره.....


privatevoid timer1_Tick(object sender, EventArgs e)
{
this.Text = Cursor.Position.ToString();
}

به هر حال به تجربه اش می ارزید....