نمایش نتایج 1 تا 4 از 4

نام تاپیک: نمایش یک کامپوننت در موقعیت مشخصی

  1. #1

    Question نمایش یک کامپوننت در موقعیت مشخصی

    سلام به همه دوستان
    من یک dll نوشتم،مثل،یک ،TextBox به همراه یک Button ، میخوام کاربر روی این دکمه که کلیک کرد، یک فرم باز بشه که لبش با لبه Button تراز باشه،مثل DateTimePicker، خودم Location فرم رو با موقعیت موس تنظیم میکنم ولی اونجور که میخوام نمیشه.
    1 سئوال دیگه اینکه،یک TreeView دارم که یکی از Node هاش فرزنداش عکس هستند، Text نود اسم فایل هست و Tag نود مسیر عکس، میخوام با حرکت موس روی گره هایی که مربوط به عکس هستند اون عکس در یک PictureBox در انتهای کرسر موس بیاد،در این مورد هم باز در پیدا کردن موقعیت این PictureBox مشکل دارم
    ممنون میشم اگه دوستان منو راهنمایی کنن


  2. #2
    کاربر دائمی آواتار tthenry14plus
    تاریخ عضویت
    مرداد 1386
    محل زندگی
    Tehran
    پست
    218

    نقل قول: نمایش یک کامپوننت در موقعیت مشخصی

    سوال اول : خوب موقعیت مورد نظر رو به dll تون ارسال کنید تا هنگام لود، فرم در همان مکان ظاهر بشه.

    موقعیت لب به لب به button هم این میشه دیگه :

    X = this.Left + button1.Left + button1.Width;
    Y = this.Top + button1.Top + button1.Heigh;


    سوال دوم:
    با استفاده از این متد هم میتونید موقعیت واقعی موس در صفحه نمایش رو بدست بیارید

    Control.MousePosition;
    Control.MousePosition.X;
    Control.MousePosition.Y;

  3. #3

    نقل قول: نمایش یک کامپوننت در موقعیت مشخصی

    دوست عزیز ممنون از راهنماییتون، درمورد سئوال اولم،این روش برای موردی خوبه که کامپوننتم روی فرم باشه و توی هیچ باکس و ... نباشه،راه درستش رو پیدا کردم،تا حالاش که درسته،ممنون میشم اگه اشکالی داره بهم بگید

    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++;


    درمورد مشکل دوم هم این روش کار نمیده،امتحانش کرده بودم

  4. #4
    کاربر دائمی آواتار tthenry14plus
    تاریخ عضویت
    مرداد 1386
    محل زندگی
    Tehran
    پست
    218

    نقل قول: نمایش یک کامپوننت در موقعیت مشخصی

    اگه دوست داشته باشید میتونید نمونه برنامتون رو با کمی توضیح بیشتر برام میل کنید تا بهتر بتونم کمکتون کنم، اینطوری نمیشه ...

قوانین ایجاد تاپیک در تالار

  • شما نمی توانید تاپیک جدید ایجاد کنید
  • شما نمی توانید به تاپیک ها پاسخ دهید
  • شما نمی توانید ضمیمه ارسال کنید
  • شما نمی توانید پاسخ هایتان را ویرایش کنید
  •