Visual Basic, .NET, ASP, VBScript
 

   
   
     

Форум - .NET

Страница: 1 |

 

  Вопрос: Срочно! Подскажите как сделать? Добавлено: 22.03.09 20:02  

Автор вопроса:  
Как сделать на форме такую Panel, что бы ее можно было таскать по форме мышкой и изменять ее размеры, тоже мышкой, как в конструкторе?

Ответить

  Ответы Всего ответов: 11  

Номер ответа: 1
Автор ответа:
 



Вопросов: 1
Ответов: 4
 Профиль | | #1 Добавлено: 22.03.09 23:52
Объясню по другому. На форме нужно сделать прямоугольную панель с маркерами, для изменения ее размера. Такую же как она выглядит во время разработки. Перерыл весь инет и ничего не нашел. Если кто знает, помогите. Заранее благодарю.

Ответить

Номер ответа: 2
Автор ответа:
 EROS



Вопросов: 58
Ответов: 4255
 Профиль | | #2 Добавлено: 23.03.09 00:55
Кто здесь?

Ответить

Номер ответа: 3
Автор ответа:
 mc-black



ICQ: 308-534-060 

Вопросов: 20
Ответов: 1860
 Web-сайт: mc-black.narod.ru/dzp.htm
 Профиль | | #3
Добавлено: 23.03.09 01:42
Он никто и звать его никак... синонимы этого ника: & n b s p ; vbCrLf, vbTab, < s p a c e > пустое место )))

Перерыл весь инет и ничего не нашел.

Ну так уж и весь. Давно встречал пример на Vb6, как-то даже помнится один мой знакомый делал это на ассемблере. Ищите дальше, уважаемый э... ))))

Ответить

Номер ответа: 4
Автор ответа:
 fAndOrIn



Вопросов: 5
Ответов: 344
 Профиль | | #4 Добавлено: 23.03.09 08:44
http://vbnet.ru/forum/show.aspx?id=182986
http://vbnet.ru/forum/show.aspx?id=184488
Он никто и звать его никак... синонимы этого ника: ... пустое место )))
+1!
Кажется мне, что это минус процедуры регистрации еа форуме. Из последних anonimus (см выше и текущий в том числе) ник="";(пустое место)

Ответить

Номер ответа: 5
Автор ответа:
 mc-black



ICQ: 308-534-060 

Вопросов: 20
Ответов: 1860
 Web-сайт: mc-black.narod.ru/dzp.htm
 Профиль | | #5
Добавлено: 23.03.09 11:05
Направление мысли (VB6, не знаю как насчет .NET):
http://www.vbaccelerator.com/home/VB/code/Libraries/Splitting/Splitting_the_Easy_Way/article.asp
Рамку можно рассматривать как разновидность сплиттера, только в виде контейнера под контролы для ресайза.

Ответить

Номер ответа: 6
Автор ответа:
 



Вопросов: 1
Ответов: 4
 Профиль | | #6 Добавлено: 23.03.09 12:15
Доброе утро. Я не аноним :) Это глюки форума. Спасибо за ответы, но это всё не то.
Надо, чтобы можно было таскать панельку по всей форме и менять ее размеры мышкой. Даже не важно, что это будет Label или Panel, даже можно TextBox, лишь бы можно было менять его размеры, мышкой и что бы по углам были маркеры изменения размера. Как в конструкторе.
Заранее благодарю за помощь.
Дима из Сочи.

Ответить

Номер ответа: 7
Автор ответа:
 Andrey



Вопросов: 1
Ответов: 8
 Профиль | | #7 Добавлено: 23.03.09 15:00
Option Explicit
Dim D As Boolean
Dim A As Double
Dim B As Double
Dim L1X As Double
Dim L1Y As Double
Dim M1X As Double
Dim M1Y As Double


Dim S2 As Boolean



Private Sub Form_Load()
D = False

S2 = False

Label2.Width = 70
Label2.Height = 70

Label2.Left = Label1.Left - 70
Label2.Top = Label1.Top - 70

Label1.BackColor = &H8000000D
Label2.BackColor = &H8000000D

End Sub

Private Sub Label1_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
D = True
A = X
B = Y
End Sub

Private Sub Label1_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
If D = True Then
Label1.Left = Label1.Left + (X - A)
Label1.Top = Label1.Top + (Y - B)

Label2.Left = Label1.Left - 70
Label2.Top = Label1.Top - 70

End If
End Sub

Private Sub Label1_MouseUp(Button As Integer, Shift As Integer, X As Single, Y As Single)
D = False
End Sub

Private Sub Label2_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
S2 = True
L1X = Label1.Width
L1Y = Label1.Left
M1X = Label1.Height
M1Y = Label1.Top

End Sub

Private Sub Label2_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
If S2 = True Then
Label2.Left = Label2.Left + X
Label2.Top = Label2.Top + Y

Label1.Left = Label2.Left + 70
Label1.Top = Label2.Top + 70

Label1.Width = L1X + (L1Y - Label2.Left)
Label1.Height = M1X + (M1Y - Label2.Top)
End If
End Sub

Private Sub Label2_MouseUp(Button As Integer, Shift As Integer, X As Single, Y As Single)
S2 = False
End Sub


До конца не писал, потому как влом :)

Ответить

Номер ответа: 8
Автор ответа:
 



Вопросов: 1
Ответов: 4
 Профиль | | #8 Добавлено: 23.03.09 18:00
Спасибо! Но этот код на VB6, а мне нужен на VB.NET.
Неужели, чтобы добавить узлы для изменения размера, надо писать столько кода?
Сформулирую вопрос по другому. Добавил на форму картинку, как изменить ее размеры с помощью мыши, т. е. схватил за край картинки и потянул. Наподобие как в фотошопе?
Неужели в VB.NET, нет такого?

Ответить

Номер ответа: 9
Автор ответа:
 EROS



Вопросов: 58
Ответов: 4255
 Профиль | | #9 Добавлено: 23.03.09 18:35
Неужели, чтобы добавить узлы для изменения размера, надо писать столько кода?

пипец.. а ты что думал, что будет что то типа такого:
  1. Panel.ResizeMarkers.Add(New Marker(Border.All))

и у тебя все нарисуется и будут изменяться все размеры?
мой те совет бросай свои попытки программировать.. это не твое,бросай!..

Ответить

Номер ответа: 10
Автор ответа:
 



Вопросов: 1
Ответов: 4
 Профиль | | #10 Добавлено: 24.03.09 20:32
Я думал здесь заседают Проффи, ан нет. Сам нашел решение этой задачки.
Спасибо всем. Я удаляюсь.

Ответить

Номер ответа: 11
Автор ответа:
 Artyom



Разработчик

Вопросов: 130
Ответов: 6602
 Профиль | | #11 Добавлено: 24.03.09 23:10
Поделитесь, пожалуйста вашим решением задачи. Хотелось бы все-таки взглянуть.

Ответить

Страница: 1 |

Поиск по форуму



© Copyright 2002-2011 VBNet.RU | Пишите нам