Вопрос : Rubberbanding с 2D прямоугольником

Приветствия и salutations:

I am испытывая метод rubberbanding using 2D прямоугольники вместо drawreversiblerectangle, в виду того что будут намного больше варианты с прямоугольником. Однако, я не знаю достаточно о графиках .NET для того чтобы разрешить эту маленькую проблему:

After, котор я рисовал линию/прямоугольник rubberband, я выходит он onscreen на цель. Когда я щелкаю для того чтобы начать другие линию или прямоугольник, если я выбираю внутри прямоугольника, то (или незримого прямоугольника держа линию или прямоугольника rubberband, ничего случает. Щелчок мыши проигнорирован и я не знаю why.

Apparently, предмет rubberband захватывал мышь. Судимое добавляя Кодий iий к методу click для rubberband, котор нужно спрятать, но экстренный щелкать стали annoying.

Is там что-нибудь еще, котор я smog сделать для того чтобы исключить это поведение?

I am using VS2005 w/VB.NET. BTW, если любое может использовать любую часть моего Кодего (как она), то вы радушны к it.

Thanks.

P.S. Iий судимое послать весь проект через ЗАСТЕЖКА-МОЛНИЮ, а File " underline " class= не работают. Если вы хотел были бы этот архив, то ответьте здесь или пошлите мной электронная почта на [email protected]. (или кто-то smogло сказать мне как upload архив здесь.)
class= " ясное " >
> " codeSnippet " class=
class= " lineNumbers "
class=
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= "
 ' после того как я написаны schale (специалист-обменяйте или [email protected])

Ввозы System.Drawing.Drawing2D

Общественное frmRubberband типа

    Const RubberLine = 0
    Const RubberRect = 1
    Твердое тело Const = 0
    Const бросит = 1

    Тусклое StartPt как пункт
    Тусклое DrawToPt как пункт
    Тусклое LastPt как пункт
    Тусклое dwg как булевско = ложно
    Тусклое Rubberband как булевское = RubberLine
    Тусклое Linestyle как интежер = твердое тело
    Тусклое MyPen как новая ручка (Color.FromArgb (128, Color.Black), 1)

    Приватное Sub frmRubberband_Paint (прислужник ByVal как System.Object, ByVal e как System.Windows.Forms.PaintEventArgs) регулирует MyBase.Paint
        Тусклый g как графики = e.Graphics
        Тусклое MyBrush как новое SolidBrush (Color.FromArgb (128, 0, 0, 0))

        С 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)
        Конец с

    Подводная лодка конца

    Приватное Sub frmRubberband_MouseDown (прислужник ByVal как System.Object, ByVal e как System.Windows.Forms.MouseEventArgs) регулирует MyBase.MouseDown

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

    Подводная лодка конца

    Приватное Sub frmRubberband_MouseMove (прислужник ByVal как System.Object, ByVal e как System.Windows.Forms.MouseEventArgs) регулирует MyBase.MouseMove

        Если dwg после этого
            DrawToPt.X = e.X
            DrawToPt.Y = e.Y
            pbxRubberband.Show ()
            RedrawRubberBand ()
        Закончитесь если

    Закончите подводную лодку

    '=======================================================================
    '= если краски rubberband над любым управлением на форме, идут назад =
    '= режим конструкции, право - щелкните дальше rubberband и выберите SEND_TO_BACK. =
    '=======================================================================
    Приватное Sub RedrawRubberBand ()
        Тусклое xStart, yStart, xEnd, yEnd как интежер

        С pbxRubberband

            Если DrawToPt.X < StartPt.X после этого
                . Левая сторона = DrawToPt.X
                . Ширина = StartPt.X - DrawToPt.X
                xStart = 0
                xEnd =. Ширина - 1
            Еще
                . Левая сторона = StartPt.X
                . Ширина = DrawToPt.X - StartPt.X
                xStart =. Ширина - 1
                xEnd = 0
            Закончитесь если

            Если DrawToPt.Y < StartPt.Y после этого
                . Верхняя часть = DrawToPt.Y
                . Высота = StartPt.Y - DrawToPt.Y
                yStart = 0
                yEnd =. Высота - 1
            Еще
                . Верхняя часть = StartPt.Y
                . Высота = DrawToPt.Y - StartPt.Y
                yStart =. Высота - 1
                yEnd = 0
            Закончитесь если

            . Освежите ()
            Если Rubberband = RubberLine после этого
                .CreateGraphics.DrawLine (MyPen, xStart, yStart, xEnd, yEnd)
            Еще 'нарисуйте RubberRectangle
                Если chkbxShadedRectangle.Checked после этого

                    .CreateGraphics.FillRectangle (MyPen.Brush, 0, 0. Ширина - 1. Высота - 1)
                Еще
                    .CreateGraphics.DrawRectangle (MyPen, 0, 0. Ширина - 1. Высота - 1)
                Закончитесь если
            Закончитесь если
        Закончитесь с

        LastPt = DrawToPt

    Подводная лодка конца

    Приватное Sub frmRubberband_MouseUp (прислужник ByVal как System.Object, ByVal e как System.Windows.Forms.MouseEventArgs) регулирует MyBase.MouseUp

        DrawToPt.X = e.X
        DrawToPt.Y = e.Y
        dwg = ложно

    Подводная лодка конца

    Приватное Sub btnLine_Click (прислужник ByVal как System.Object, ByVal e как System.EventArgs) регулирует btnLine.Click

        Rubberband = RubberLine
        RedrawRubberBand ()

    Подводная лодка конца

    Приватное Sub btnRectangle_Click (прислужник ByVal как System.Object, ByVal e как System.EventArgs) регулирует btnRectangle.Click

        Rubberband = RubberRect
        RedrawRubberBand ()

    Подводная лодка конца

    Приватное Sub btnSolidLine_Click (прислужник ByVal как System.Object, ByVal e как System.EventArgs) регулирует btnSolidLine.Click

        MyPen.DashStyle = DashStyle.Solid
        RedrawRubberBand ()

    Подводная лодка конца

    Приватное Sub btnDashedLine_Click (прислужник ByVal как System.Object, ByVal e как System.EventArgs) регулирует btnDashedLine.Click

        MyPen.DashStyle = DashStyle.Dash
        RedrawRubberBand ()

    Подводная лодка конца

    Приватное updnLineWidthSelect_ValueChanged Sub (прислужник ByVal как System.Object, ByVal e как System.EventArgs) регулирует updnLineWidthSelect.ValueChanged

        MyPen.Width = updnLineWidthSelect.Value
        RedrawRubberBand ()

    Подводная лодка конца

    Приватное chkbxShadedRectangle_CheckedChanged Sub (прислужник ByVal как System.Object, ByVal e как System.EventArgs) регулирует chkbxShadedRectangle.CheckedChanged

        RedrawRubberBand ()

    Подводная лодка конца

    'Приватное Sub pbxRubberband_Click (прислужник ByVal как System.Object, ByVal e как System.EventArgs) регулирует pbxRubberband.Click
    'pbxRubberband.Hide ()
    'Подводная лодка конца
Тип конца
class=

Ответ : Rubberbanding с 2D прямоугольником

1) они все друг
2) 0
3) Нет
4) Вам нужно поддерживать таблицу путем идти к вебсайт каждого положения (и много графств) регулярно, и держать тарифы последним.

То почему это будет дело специальности.  Я делаю внедрение бухгалтерии на сверх 20 лет, и я себя не думал бы делать это, там буду слишком много пассивов.  Много положений имеют специальные офисы и работники работа полный рабочий день должно сделать уверенные тягла правильно высчитано, и вы получите оштрафованными если вы не делаете его право.
Другие решения  
  •  Как я добавляю кнопки на форме PDF для того чтобы добавить/извлекаю рядки данных?
  •  Шнур ошибки в блоке задвижки?
  •  сколько вариант сервера SQL на одной машине
  •  Внешний вид 2007 не может архивный файл открытой сети сохраненный
  •  Активно директория DNS записывает вопрос
  •  Отчет о доступа 2010 экспорта к CSV с коллекторами?
  •  Прокладчик OCE 9400 не начинает
  •  как добавить десятичное место в формуле в отчете о кристалла seagate
  •  Windows XP и Мичрософт Оутлоок и проблемы установителя Windows
  •  VB6 к VS2010 - консультации тренировки?
  •  
    programming4us programming4us