Pergunta : Rubberbanding com 2D retângulo

Cumprimentos e saudações:

I am que testa um método do rubberbanding using 2D retângulos em vez de drawreversiblerectangle, desde que há muito mais umas opções com um retângulo. Entretanto, eu não sei bastante sobre gráficos de .NET para resolver este problema pequeno: o

After que eu extraí uma linha/retângulo do rubberband, mim deixa-o onscreen na finalidade. Quando eu estalo para começar uma outra linha ou retângulo, se eu seleciono dentro do retângulo (o retângulo invisível que prendem a linha ou o retângulo do rubberband, nada acontece. O clique de rato é ignorado e eu não sei why.

Apparently, o objeto do rubberband capturei o rato. Eu tentei adicionar o código ao método de click para que o rubberband esconda-se, mas o clique extra transformou-se annoying.

Is lá qualquer outra coisa que eu poderia fazer para eliminar este comportamento?

I am using VS2005 w/VB.NET. BTW, se qualquer um pode usar qualquer parte de meu código (tal como ela é), você é bem-vindo a it.

Thanks.

P.S.I tentado emitir o projeto inteiro através do FECHO DE CORRER, mas a ligação File do " traço " do class= não trabalha. Se você gostaria desta lima, responder aqui ou emitir-me um email em [email protected]. (ou alguém poderia me dizer como transferir arquivos pela rede aqui a lima.)
class= > " desobstruído " do
> do " codeSnippet " do class= do
class= " lineNumbers " do
class= do
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:
id= " codeSnippet829500 " class= " do
 ' escrito pelo schale (perito-trocar ou [email protected])

Importações System.Drawing.Drawing2D

frmRubberband público da classe

    Const RubberLine = 0
    Const RubberRect = 1
    Sólido de Const = 0
    Const precipita = 1

    StartPt não ofuscante como o ponto
    DrawToPt não ofuscante como o ponto
    LastPt não ofuscante como o ponto
    Dwg não ofuscante como bôoleano = falso
    Rubberband não ofuscante como bôoleano = RubberLine
    Linestyle não ofuscante como o inteiro = o sólido
    MyPen não ofuscante como a pena nova (Color.FromArgb (128, Color.Black), 1)

    O frmRubberband_Paint secundário confidencial (remetente de ByVal como System.Object, ByVal e como System.Windows.Forms.PaintEventArgs) segura MyBase.Paint
        G não ofuscante como gráficos = e.Graphics
        MyBrush não ofuscante como SolidBrush novo (Color.FromArgb (128, 0, 0, 0))

        Com 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)
        Extremidade com

    Submarino da extremidade

    O frmRubberband_MouseDown secundário confidencial (remetente de ByVal como System.Object, ByVal e como System.Windows.Forms.MouseEventArgs) segura MyBase.MouseDown

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

    Submarino da extremidade

    O frmRubberband_MouseMove secundário confidencial (remetente de ByVal como System.Object, ByVal e como System.Windows.Forms.MouseEventArgs) segura MyBase.MouseMove

        Se dwg então
            DrawToPt.X = e.X
            DrawToPt.Y = e.Y
            pbxRubberband.Show ()
            RedrawRubberBand ()
        Terminar se

    Terminar o submarino

    '=======================================================================
    '= se as pinturas do rubberband sobre quaisquer controles no formulário, vão para trás =
    '= modalidade do projeto, direita - estalar sobre o rubberband e selecionar SEND_TO_BACK. =
    '=======================================================================
    RedrawRubberBand secundário confidencial ()
        xStart não ofuscante, yStart, xEnd, yEnd como o inteiro

        Com pbxRubberband

            Se DrawToPt.X < StartPt.X então
                . Esquerda = DrawToPt.X
                . Largura = StartPt.X - DrawToPt.X
                xStart = 0
                xEnd =. Largura - 1
            Mais
                . Esquerda = StartPt.X
                . Largura = DrawToPt.X - StartPt.X
                xStart =. Largura - 1
                xEnd = 0
            Terminar se

            Se DrawToPt.Y < StartPt.Y então
                . Parte superior = DrawToPt.Y
                . Altura = StartPt.Y - DrawToPt.Y
                yStart = 0
                yEnd =. Altura - 1
            Mais
                . Parte superior = StartPt.Y
                . Altura = DrawToPt.Y - StartPt.Y
                yStart =. Altura - 1
                yEnd = 0
            Terminar se

            . Refrescar ()
            Se Rubberband = RubberLine então
                .CreateGraphics.DrawLine (MyPen, xStart, yStart, xEnd, yEnd)
            Mais 'extrair um RubberRectangle
                Se chkbxShadedRectangle.Checked então

                    .CreateGraphics.FillRectangle (MyPen.Brush, 0, 0. Largura - 1. Altura - 1)
                Mais
                    .CreateGraphics.DrawRectangle (MyPen, 0, 0. Largura - 1. Altura - 1)
                Terminar se
            Terminar se
        Terminar com

        LastPt = DrawToPt

    Submarino da extremidade

    O frmRubberband_MouseUp secundário confidencial (remetente de ByVal como System.Object, ByVal e como System.Windows.Forms.MouseEventArgs) segura MyBase.MouseUp

        DrawToPt.X = e.X
        DrawToPt.Y = e.Y
        dwg = falso

    Submarino da extremidade

    O btnLine_Click secundário confidencial (remetente de ByVal como System.Object, ByVal e como System.EventArgs) segura btnLine.Click

        Rubberband = RubberLine
        RedrawRubberBand ()

    Submarino da extremidade

    O btnRectangle_Click secundário confidencial (remetente de ByVal como System.Object, ByVal e como System.EventArgs) segura btnRectangle.Click

        Rubberband = RubberRect
        RedrawRubberBand ()

    Submarino da extremidade

    O btnSolidLine_Click secundário confidencial (remetente de ByVal como System.Object, ByVal e como System.EventArgs) segura btnSolidLine.Click

        MyPen.DashStyle = DashStyle.Solid
        RedrawRubberBand ()

    Submarino da extremidade

    O btnDashedLine_Click secundário confidencial (remetente de ByVal como System.Object, ByVal e como System.EventArgs) segura btnDashedLine.Click

        MyPen.DashStyle = DashStyle.Dash
        RedrawRubberBand ()

    Submarino da extremidade

    Secundário confidencial updnLineWidthSelect_ValueChanged (remetente de ByVal como System.Object, ByVal e como System.EventArgs) segura updnLineWidthSelect.ValueChanged

        MyPen.Width = updnLineWidthSelect.Value
        RedrawRubberBand ()

    Submarino da extremidade

    Secundário confidencial chkbxShadedRectangle_CheckedChanged (remetente de ByVal como System.Object, ByVal e como System.EventArgs) segura chkbxShadedRectangle.CheckedChanged

        RedrawRubberBand ()

    Submarino da extremidade

    'O pbxRubberband_Click secundário confidencial (remetente de ByVal como System.Object, ByVal e como System.EventArgs) segura pbxRubberband.Click
    'pbxRubberband.Hide ()
    'Submarino da extremidade
Classe da extremidade
class= do

Resposta : Rubberbanding com 2D retângulo

1) São tudo diferentes
2) 0
3) Não
4) Você precisa de manter a tabela indo ao Web site de cada estado (e aos muitos condados) regularmente, e mantendo as taxas modernas.

Isso é porque este é um negócio da especialidade.  Eu tenho feito a integração da contabilidade por mais de 20 anos, e eu não pensaria de fazer isto eu mesmo, lá sou responsabilidades demais.  Muitos estados têm escritórios especiais e os trabalhadores cujo o trabalho a tempo completo é se certificar que os impostos estão calculados corretamente, e você começ multados se você não a faz direita.
Outras soluções  
 
programming4us programming4us