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

نام تاپیک: چسباندن فرم به لبه های صفحه نمایش

  1. #1

    Question چسباندن فرم به لبه های صفحه نمایش

    سلام به همه دوستان و اساتید محترم
    من یک پروژه نوشتم که فرم اصلی اون شبیه یک ToolBar از یک نوار شامل یکسری دکمه تشکیل شده. حالا می خوام کاری کنم که بتونه با انتخاب کاربر به لبه های صفحه نمایش بچسبه (بالا - پایین - چپ - راست)
    البته می خوام موارد زیر هم توش رعایت بشه :
    1- اگه کاربر رزولوشن مانیتورش رو تغییر داد نسبت به اون عکس العمل نشون بده و کوچک تر یا بزرگتر از لبه ای که بهش چسبیده نشه و لبه ای که بهش چسبیده رو کاملا بپوشونه
    2- محل و پهنای TaskBar در نظر گرفته بشه و با تغییر پهنای اون اگه فرم به همان لبه ای که TaskBar قرار داده چسبیده تغییر محل بده و به TaskBar بچسبه
    3- اگه هنگام چسبیدن به لبه ها روی آیکن های Desktop قرار گرفت آیکن ها را تغییر محل بده تا همه شون دیده بشن
    لطفاً هر کس کوچک ترین اطلاعی راجع به هر قسمت از سوال من داره لطف کنه و بگه چون بدجوری توش گیر افتادم.
    با تشکر از همگی

  2. #2

    Unhappy !!!

    آقا چرا هیشکی به من جواب نمی ده؟
    یعنی سوالم اینقدر الکیه که کسی بهش محل نمیده یا اینکه ...؟؟؟؟؟؟!!

  3. #3
    کاربر دائمی
    تاریخ عضویت
    شهریور 1384
    محل زندگی
    شیراز
    سن
    39
    پست
    102

    بلد نیستم

    آقا ما دوست داریم کمک کنیم
    اما خوب معلوماتمون نمی رسه
    ....

  4. #4

    !!!

    پس اگه موضوع خفنه اساتید به داد برسند !!!

  5. #5
    کاربر دائمی
    تاریخ عضویت
    آذر 1383
    محل زندگی
    تهران
    پست
    1,021
    سلام

    قبلا یک کد VB داشتم که مشابه کار شما انجام میداد. اگه میخواهید Upload کنم.

    در پناه حق موفق باشید و پرتوان

  6. #6

    -

    فکر کنم به چنین چیزی احتیاج دارید:
    برای کار کردن باهاش 4 تا دکمه به نام های cmdTop , cmdBotton , cmdLeft , cmdRight روی یک فرم بزارید و کل کد زیر رو در قسمت کد فرمتون کپی کنید. یه کم کار داره (botton و right اش) . در اولین فرصت تکمیلش می کنم.
    در ضمن با تغیر resolution هم تغیر سایز می ده!

     	Protected Overrides Sub WndProc(ByRef m As System.Windows.Forms.Message)
    If m.Msg = 126 Or m.Msg = 26 Then
    Form1_DockChanged(New Object, New System.EventArgs)
    End If
    MyBase.WndProc(m)


    Private Sub cmd_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmdLeft.Click, cmdRight.Click, cmdTop.Click, cmdBottom.Click
    Select Case sender.name
    Case "cmdTop"
    Me.Dock = DockStyle.Top
    Case "cmdLeft"
    Me.Dock = DockStyle.Left
    Case "cmdBottom"
    Me.Dock = DockStyle.Bottom
    Case "cmdRight"
    Me.Dock = DockStyle.Right
    End Select

    End Sub

    Private Sub Form1_DockChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles MyBase.DockChanged
    Dim w As Integer = SystemInformation.WorkingArea.Width
    Dim h As Integer = SystemInformation.WorkingArea.Height
    Dim x As Integer = SystemInformation.WorkingArea.X
    Dim y As Integer = SystemInformation.WorkingArea.Y
    Select Case Me.Dock
    Case DockStyle.Top
    Me.Width = w
    Me.Height = 100
    Me.Top = y
    Me.Left = x
    Case DockStyle.Left
    Me.Width = 100
    Me.Height = h
    Me.Top = y
    Me.Left = x
    Case DockStyle.Bottom
    Me.Width = w
    Me.Height = 100
    Me.Top = h - y - 100
    Me.Left = x
    Case DockStyle.Right
    Me.Width = 100
    Me.Height = h
    Me.Top = y
    Me.Left = w - x - 100
    End Sub
    آخرین ویرایش به وسیله titbasoft : جمعه 11 شهریور 1384 در 12:46 عصر دلیل: در نظر گرفتن مکان taskbar

  7. #7
    خوب این در حالته کلی درست ولی اگه یک کاربری TaskBar رو به یک سمت دیگه چسبانده بود چطور؟ یا اگه چند تا آیکون رو سمت راست دسکتاپ قرار داده بود چطور؟ (آیکون سطل بازیانی ویندوز XP به طور پیش فرض سمت راست و پائین دسکتاپ قرار داره)

  8. #8

  9. #9

    -

    کد اولم رو یه تغیر کوچیک دادم. به 2 علت:
    1) handle کردن تغیرات مکان taskbar در زمان اجرا
    2) در نظر گرفتن اندازه taskbar


    آخرین ویرایش به وسیله titbasoft : جمعه 11 شهریور 1384 در 12:48 عصر

  10. #10

  11. #11

    -

    عالیه جناب titbasoft
    شما لطف دارید ولی هنوز مشکل داره. مثلا با auto hide بودن task bar

  12. #12

  13. #13
    جالبه آقای BlavkDal ولی فقط وقتی Taskbar پائین هست تشخیص می ده وقتی هم TaskBar پائین باشه و تغییر اندازه بدیم و دوباره برگردونیم سره جاش فرم همون جا می مونه ولی در مجموع جالب بود

  14. #14

    !!!

    از همه دوستانی که صمیمانه وقت گذاشتن و اهمیت دادن بسیار متشکرم.
    اگه اون چندتا مشکل هم رفع بشه دیگه عالیه.

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

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