نمایش یک کامپوننت در موقعیت مشخصی
سلام به همه دوستان
من یک dll نوشتم،مثل،یک ،TextBox به همراه یک Button ، میخوام کاربر روی این دکمه که کلیک کرد، یک فرم باز بشه که لبش با لبه Button تراز باشه،مثل DateTimePicker، خودم Location فرم رو با موقعیت موس تنظیم میکنم ولی اونجور که میخوام نمیشه.
1 سئوال دیگه اینکه،یک TreeView دارم که یکی از Node هاش فرزنداش عکس هستند، Text نود اسم فایل هست و Tag نود مسیر عکس، میخوام با حرکت موس روی گره هایی که مربوط به عکس هستند اون عکس در یک PictureBox در انتهای کرسر موس بیاد،در این مورد هم باز در پیدا کردن موقعیت این PictureBox مشکل دارم :گریه:
ممنون میشم اگه دوستان منو راهنمایی کنن :بوس:
نقل قول: نمایش یک کامپوننت در موقعیت مشخصی
سوال اول : خوب موقعیت مورد نظر رو به dll تون ارسال کنید تا هنگام لود، فرم در همان مکان ظاهر بشه.
موقعیت لب به لب به button هم این میشه دیگه :
X = this.Left + button1.Left + button1.Width;
Y = this.Top + button1.Top + button1.Heigh;
سوال دوم:
با استفاده از این متد هم میتونید موقعیت واقعی موس در صفحه نمایش رو بدست بیارید
Control.MousePosition;
Control.MousePosition.X;
Control.MousePosition.Y;
نقل قول: نمایش یک کامپوننت در موقعیت مشخصی
دوست عزیز ممنون از راهنماییتون، درمورد سئوال اولم،این روش برای موردی خوبه که کامپوننتم روی فرم باشه و توی هیچ باکس و ... نباشه،راه درستش رو پیدا کردم،تا حالاش که درسته،ممنون میشم اگه اشکالی داره بهم بگید
int x_location, y_location;
Control _patern;
y_location = this.Top;
_patern = this.Parent;
while (_patern != null)
{
y_location += _patern.Top;
if (_patern isTabPage)
y_location +=29;
_patern = _patern.Parent;
}
x_location = this.Left;
_patern = this.Parent;
while (_patern != null)
{
x_location += _patern.Left;
if (_patern isTabPage)
x_location += 3;
_patern = _patern.Parent;
}
y_location += this.Height;
y_location--;
x_location++;
درمورد مشکل دوم هم این روش کار نمیده،امتحانش کرده بودم
نقل قول: نمایش یک کامپوننت در موقعیت مشخصی
اگه دوست داشته باشید میتونید نمونه برنامتون رو با کمی توضیح بیشتر برام میل کنید تا بهتر بتونم کمکتون کنم، اینطوری نمیشه ...