Pytanie : Rubberbanding z prostokąt prostokąt

Powitanie i witanie:

I am rubberbanding metoda using prostokąt prostokąt zamiast drawreversiblerectangle, ponieważ tam  być o wiele więcej opcja z prostokąt. , I znać dosyć o .NET grafika ten mały problem:

After I rysować rubberband linia/prostokąt, I opuszczać ono na ekranie na purpose. Gdy I klikać inny linia lub prostokąt, jeżeli I wybierać wśrodku the prostokąt (lub the niewidzialny prostokąt the linia lub the rubberband prostokąt, nic zdarzać się. The mysz stuknięcie ignorować i I znać why.

Apparently, the rubberband przedmiot chwytać the mysz. I próbować dostawianie kod the click metoda dla the rubberband, ale the dodatek zostać annoying.

Is tam/>Is inny I móc ten zachowanie?

I am using VS2005 w/VB.NET. BTW, jeżeli/>P.S móc jakaś część mój kod (tak jak ono być), ty być mile widziany it.

Thanks.

P.S. I próbować the całkowity projekt przez ZAMEK BŁYSKAWICZNY, ale the File połączenie pracować. Jeżeli ty polubić ten kartoteka, odpowiedź tutaj lub wysyłać email przy [email protected]. (lub
móc dlaczego upload the kartoteka tutaj.)
(1):
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
38:
39:
40:
41:
42:
43:
44:
45:
46:
47:
48:
49:
50:
51:
52:
53:
54:
55:
56:
57:
58:
59:
60:
61:
62:
63:
64:
65:
66:
67:
68:
69:
70:
71:
72:
73:
74:
75:
76:
77:
78:
79:
80:
81:
82:
83:
84:
85:
86:
87:
88:
89:
90:
91:
92:
93:
94:
95:
96:
97:
98:
99:
100:
101:
102:
103:
104:
105:
106:
107:
108:
109:
110:
111:
112:
113:
114:
115:
116:
117:
118:
119:
120:
121:
122:
123:
124:
125:
126:
127:
128:
129:
130:
131:
132:
133:
134:
135:
136:
137:
138:
139:
140:
141:
142:
143:
144:
145:
146:
147:
148:
149:
150:
151:
152:
153:
154:
155:
156:
157:
158:
159:
160:
161:
162:
163:
164:
165:
166:
 ' schale (ekspert-wymieniać lub [email protected])

Import System.Drawing.Drawing2D

Społeczeństwo Klasowy frmRubberband

    Const RubberLine = (0)
    Const RubberRect = (1)
    Const Bryła = (0)
    Const Ciskać = (1)

    Ciemnawy StartPt Punkt
    Ciemnawy DrawToPt Punkt
    Ciemnawy LastPt Punkt
    Ciemnawy dwg Boolowski = Fałszywy
    Ciemnawy Rubberband Jako Boolowski = RubberLine
    Ciemnawy Linestyle Jako Integer = Bryła
    Ciemnawy MyPen Jako Nowy Pióro (Color.FromArgb (128, Color.Black), 1)

    Intymny Okręt podwodny frmRubberband_Paint (ByVal nadawca Jako System.Object, ByVal e Jako System.Windows.Forms.PaintEventArgs) Obchodzić się MyBase.Paint
        Ciemnawy g Jako Grafika = e.Graphics
        Ciemnawy MyBrush Jako Nowy SolidBrush (Color.FromArgb (128, (0), (0), (0)))

        Z g
            'MyBrush.Color = Color.FromArgb (128, Color.Red)
            '.FillEllipse (MyBrush, 50, 50, 100, 50)
            'MyBrush.Color = Color.FromArgb (128, Color.Green)
            '.FillEllipse (MyBrush, 100, 75, 100, 50)
            'MyBrush.Color = Color.FromArgb (128, Color.Blue)
            '.FillEllipse (MyBrush, 150, 100, 100, 50)
            'MyBrush.Color = Color.FromArgb (128, Color.White)
            '.FillEllipse (MyBrush, 200, 120, 100, 50)
            .FillEllipse (Brushes.Red, 10, 10, 100, 50)
            .FillEllipse (Brushes.Green, 60, 60, 100, 50)
            .SmoothingMode = SmoothingMode.AntiAlias
            .FillEllipse (Brushes.Blue, 110, 110, 100, 50)
            .FillEllipse (Brushes.White, 160, 160, 100, 50)
        Końcówka Z

    Końcówka Okręt podwodny

    Intymny Okręt podwodny frmRubberband_MouseDown (ByVal nadawca Jako System.Object, ByVal e Jako System.Windows.Forms.MouseEventArgs) Obchodzić się MyBase.MouseDown

        StartPt.X = e.X
        StartPt.Y = e.Y
        DrawToPt = StartPt
        LastPt = StartPt
        pbxRubberband.Show ()
        dwg = Prawdziwy

    Końcówka Okręt podwodny

    Intymny Okręt podwodny frmRubberband_MouseMove (ByVal nadawca Jako System.Object, ByVal e Jako System.Windows.Forms.MouseEventArgs) Obchodzić się MyBase.MouseMove

        Jeżeli dwg Wtedy
            DrawToPt.X = e.X
            DrawToPt.Y = e.Y
            pbxRubberband.Show ()
            RedrawRubberBand ()
        Kończyć Jeżeli

    Kończyć Okręt podwodny

    '=======================================================================
    '= Jeżeli the rubberband malować nad jakaś kontrola na the forma, iść z powrotem =
    '= projekt tryb, dobro - klikać dalej the rubberband i wybiórka SEND_TO_BACK. =
    '=======================================================================
    Intymny Okręt podwodny RedrawRubberBand ()
        Ciemnawy xStart, yStart, xEnd, yEnd Jako Integer

        Z pbxRubberband

            Jeżeli DrawToPt.X < StartPt.X Wtedy
                . Lewica = DrawToPt.X
                . Szerokość = StartPt.X - DrawToPt.X
                xStart = (0)
                xEnd =. Szerokość - (1)
            Inny
                . Lewica = StartPt.X
                . Szerokość = DrawToPt.X - StartPt.X
                xStart =. Szerokość - (1)
                xEnd = (0)
            Kończyć Jeżeli

            Jeżeli DrawToPt.Y < StartPt.Y Wtedy
                . Wierzchołek = DrawToPt.Y
                . Wzrost = StartPt.Y - DrawToPt.Y
                yStart = (0)
                yEnd =. Wzrost - (1)
            Inny
                . Wierzchołek = StartPt.Y
                . Wzrost = DrawToPt.Y - StartPt.Y
                yStart =. Wzrost - (1)
                yEnd = (0)
            Kończyć Jeżeli

            . Odświeżać ()
            Jeżeli Rubberband = RubberLine Wtedy
                .CreateGraphics.DrawLine (MyPen, xStart, yStart, xEnd, yEnd)
            Inny 'Remis RubberRectangle
                Jeżeli chkbxShadedRectangle.Checked Wtedy

                    .CreateGraphics.FillRectangle (MyPen.Brush, (0), (0). Szerokość - (1). Wzrost - 1)
                Inny
                    .CreateGraphics.DrawRectangle (MyPen, (0), (0). Szerokość - (1). Wzrost - 1)
                Kończyć Jeżeli
            Kończyć Jeżeli
        Kończyć Z

        LastPt = DrawToPt

    Końcówka Okręt podwodny

    Intymny Okręt podwodny frmRubberband_MouseUp (ByVal nadawca Jako System.Object, ByVal e Jako System.Windows.Forms.MouseEventArgs) Obchodzić się MyBase.MouseUp

        DrawToPt.X = e.X
        DrawToPt.Y = e.Y
        dwg = Fałszywy

    Końcówka Okręt podwodny

    Intymny Okręt podwodny btnLine_Click (ByVal nadawca Jako System.Object, ByVal e Jako System.EventArgs) Obchodzić się btnLine.Click

        Rubberband = RubberLine
        RedrawRubberBand ()

    Końcówka Okręt podwodny

    Intymny Okręt podwodny btnRectangle_Click (ByVal nadawca Jako System.Object, ByVal e Jako System.EventArgs) Obchodzić się btnRectangle.Click

        Rubberband = RubberRect
        RedrawRubberBand ()

    Końcówka Okręt podwodny

    Intymny Okręt podwodny btnSolidLine_Click (ByVal nadawca Jako System.Object, ByVal e Jako System.EventArgs) Obchodzić się btnSolidLine.Click

        MyPen.DashStyle = DashStyle.Solid
        RedrawRubberBand ()

    Końcówka Okręt podwodny

    Intymny Okręt podwodny btnDashedLine_Click (ByVal nadawca Jako System.Object, ByVal e Jako System.EventArgs) Obchodzić się btnDashedLine.Click

        MyPen.DashStyle = DashStyle.Dash
        RedrawRubberBand ()

    Końcówka Okręt podwodny

    Intymny Okręt podwodny updnLineWidthSelect_ValueChanged (ByVal nadawca Jako System.Object, ByVal e Jako System.EventArgs) Rękojeść updnLineWidthSelect.ValueChanged

        MyPen.Width = updnLineWidthSelect.Value
        RedrawRubberBand ()

    Końcówka Okręt podwodny

    Intymny Okręt podwodny chkbxShadedRectangle_CheckedChanged (ByVal nadawca Jako System.Object, ByVal e Jako System.EventArgs) Rękojeść chkbxShadedRectangle.CheckedChanged

        RedrawRubberBand ()

    Końcówka Okręt podwodny

    'Intymny Okręt podwodny pbxRubberband_Click (ByVal nadawca Jako System.Object, ByVal e Jako System.EventArgs) Obchodzić się pbxRubberband.Click
    'pbxRubberband.Hide ()
    'Końcówka Okręt podwodny
Końcówka Klasa

Odpowiedź : Rubberbanding z prostokąt prostokąt

1) Być 1) różny
2) (0)
3) Nie
4) Ty potrzebować the stół każdy stan strona internetowa (i wiele okręg administracyjny) regularnie, i the tempo nowomodny.

To być dlaczego to być specjalność biznes.  I robić księgowość integracja dla 20 rok, i I rok myśl rok, tam  być zbyt wiele odpowiedzialność.  Wiele stan mieć specjalny biuro i pracownik folować czas praca być podatek prawidłowo kalkulować, i ty dostawać karać grzywną jeżeli ty robić ono prawy.
Inne rozwiązania  
 
programming4us programming4us