Vraag : De Controles van Resiable, Vensters

Hello, wil
I tot een voorwerp leiden, of een vorm of een ander type van container dat ik een statusbar met een greephandvat kan plaatsen resize de container.  De container zal een statusbar en een lijstcontrole hebben.  Ik wil de resizable container hebben gebruikend het de greephandvat van de statusbar, maar ik wil aanzienlijk de container zijn door op de hoogste, linker of juiste hoek van containger (vorm, paneel, enz.) te klikken - ik kan geen paneel resizable ertoe brengen om te zijn gebruikend een statusbar, of voor die kwestie resizabe helemaal niet.  Ik kan het krijgen die de manier werken die ik door een statusbar heb gewild op een vorm te zetten, dan vullend de vorm met de lijst boxb maar anderzijds kan de gebruiker resize de vorm door op één rand van de vorm (linker, juiste bovenkant,) te klikken.   inderdaad, wil ik een container die aan het recht resize en zal verslaan, maar niet van de bovenkant of left.

I am aan acccomplist proberen toont een daling onderaan combo dan het lijstvakje met diverse waarden daarin.  Ik hoop die duidelijk ben, als me niet laten het weten….

Antwoord : De Controles van Resiable, Vensters

Verhinder enkel de linker en hoogste waarden als in dit voorbeeld worden uitgegeven. Slechts zou de behoefte van de verhouding wat het aanpassen, maar u dat moeten kunnen uit voorstellen.

Namespace WindowsFormsApplication2
      Openbare Gedeeltelijke Klasse Form1
            Erft Vorm
            Het MAXIMUM van Const als Geheel = 800
            De privé linkerzijde als Geheel = 0, bovenkant als Geheel = 0, breedte als Geheel = 0, hoogte als Geheel = 0, deltaResize als Geheel = 0
            Privé startResize Van Boole = Vals
            Openbare Sub Nieuw ()
                  InitializeComponent ()
            Sub van het eind

            Privé SubForm1_ResizeEnd (afzender als Voorwerp, e als EventArgs)
                  Als Form1.ActiveForm.Left <> toen wegging
                        Form1.ActiveForm.Left = weggegaan
                  Eind als
                  Als bovenkant <> Form1.ActiveForm.Top toen
                        Form1.ActiveForm.Top = bovenkant
                  Eind als
                  Als Form1.ActiveForm.Width > MAXIMUM toen
                        Form1.ActiveForm.Width = MAXIMUM
                  Eind als

                  Schemerig formResize als Geheel = breedte - Form1.ActiveForm.Width
                  Verduister ratioFormBar als Enig = MAXIMUM/progressBar1.Width
                  Probeer
                        progressBar1.Value = progressBar1.Value - CInt (Math.Floor (formResize /ratioFormBar))
                  Vangst
                        Als progressBar1.Value - CInt (Math.Floor (formResize /ratioFormBar)) <� 0="" Then="">                              progressBar1.Value = 0
                        Eind als
                        Als progressBar1.Value - CInt (Math.Floor (formResize /ratioFormBar)) > MAXIMUM toen
                              progressBar1.Value = MAXIMUM
                        Eind als
                  Het eind probeert
            Sub van het eind

            Privé SubForm1_ResizeBegin (afzender als Voorwerp, e als EventArgs)
                  Als Form1.ActiveForm IsNot niets toen
                        linkerzijde = Form1.ActiveForm.Left
                        bovenkant = Form1.ActiveForm.Top
                        breedte = Form1.ActiveForm.Width
                        hoogte = Form1.ActiveForm.Height
                  Eind als
            Sub van het eind

            Privé SubForm1_Activated (afzender als Voorwerp, e als EventArgs)
                  progressBar1.Value = Form1.ActiveForm.Left
                  progressBar1.Maximum = MAXIMUM
                  breedte = Form1.ActiveForm.Width
                  hoogte = Form1.ActiveForm.Height

            Sub van het eind

            Privé SubprogressBar1_MouseDown (afzender als Voorwerp, e als MouseEventArgs)
                  Als e.Button = MouseButtons.Left toen
                        deltaResize = e.X
                        startResize = Waar
                  Beëindig als
            Beëindig Sub

            Privé SubprogressBar1_MouseUp (afzender als Voorwerp, e als MouseEventArgs)
                  Als e.Button = MouseButtons.Left AndAlso dan startResize
                        Schemerige mouseMovement als Geheel = e.X - deltaResize
                        Verduister ratioFormBar als Enig = MAXIMUM/progressBar1.Width
                        Form1.ActiveForm.Width = Form1.ActiveForm.Width + CInt (Math.Floor (ratioFormBar mouseMovement *))
                        startResize = Waar
                  Beëindig als

            Beëindig Sub
      Beëindig Klasse
Beëindig Namespace
Andere oplossingen  
 
programming4us programming4us