Mover objetos (botões) no form
Salve!!!
Estou fazendo meu projeto final para a faculdade, e em uma das aplicações, precisarei que o usuário possa alterar a posição dos botões. Como fazer isso?
Estou fazendo meu projeto final para a faculdade, e em uma das aplicações, precisarei que o usuário possa alterar a posição dos botões. Como fazer isso?
Zeh
Curtidas 0
Respostas
Léu
24/04/2007
Olá,
Se for o que entendi.
Coloque o código no evento MouseMove do Butão.
VB 6
If Button = 1 Then
SeuButão.Left = SeuButão.Left + X
SeuButão.Top = SeuButão.Top + Y
End If
VB 2005
Dim X, Y As Single
X = e.Location.X
Y = e.Location.Y
If e.Button = Windows.Forms.MouseButtons.Left Then
SeuButão.Left = SeuButão.Left + X
SeuButão.Top = SeuButão.Top + Y
End If
Se for o que entendi.
Coloque o código no evento MouseMove do Butão.
VB 6
If Button = 1 Then
SeuButão.Left = SeuButão.Left + X
SeuButão.Top = SeuButão.Top + Y
End If
VB 2005
Dim X, Y As Single
X = e.Location.X
Y = e.Location.Y
If e.Button = Windows.Forms.MouseButtons.Left Then
SeuButão.Left = SeuButão.Left + X
SeuButão.Top = SeuButão.Top + Y
End If
GOSTEI 0
Tzapquiel
24/04/2007
Adorei o codigo mas gostaria de saber como salvo a posição do botão pra quando abrir denovo o programa?
GOSTEI 0
Groove
24/04/2007
depende de onde quer que seja salvo essas configurações
banco de dados
arquivo de texto ou xml (heheh)
chave de registro
cada um deles é um modo diferente
banco de dados
arquivo de texto ou xml (heheh)
chave de registro
cada um deles é um modo diferente
GOSTEI 0
Tzapquiel
24/04/2007
gostaria de salvar no xml assim o programa pode carregar a posição na hora que abre :lol:
GOSTEI 0
Groove
24/04/2007
primeiramente fiz em c# funcionou blz, gravando o XML na raiz C:, depois fiz VBnet mas precisa testar pra ve se funciona legal
não deixe de responder se funcionou!!!
Valew
Tomara eu ter ajudado
Private Function MontaXML(ByVal X As Integer, ByVal y As Integer) As String
´estancia a variavel para escrever o xml
Dim stringbuilder As StringBuilder = New StringBuilder
´ ESCREVE O XML
stringbuilder.Append("<MontaXML>")
stringbuilder.Append(("<Horizontal>" _
+ (X + "</Horizontal>")))
stringbuilder.Append(("<Vertical>" _
+ (y + "</Vertical>")))
stringbuilder.Append("</MontaXML>")
´ RETORNA UMA STRING NO FORMATO XML
Return stringbuilder.ToString
End Function
Private Sub GravaXML()
Dim NomeArquivoXML As String = "c:\\ConfiguraPosicaoBotao.xml"
´aqui passei valores ficticios no qual será passa a posicao atual q está o botão
Dim XML As String = MontaXML(20, 20).ToString
´estanciando a variavel oFile pedindo permiss�o para gravar no arquivo
Dim oFil As FileStream = New FileStream(NomeArquivoXML, FileMode.Append, FileAccess.Write)
´estanciando a variavel oWriter
Dim oWrite As StreamWriter = New StreamWriter(oFil)
´escrevento no arquivo
oWrite.WriteLine(XML)
´fechando
oWrite.Close
oFil.Close
End Sub
não deixe de responder se funcionou!!!
Valew
Tomara eu ter ajudado
GOSTEI 0
Groove
24/04/2007
Alias o codigo acima vc vai incluido uma linha ( ou melhor uma configuração abaixo da outra como um texto)
exemplo:
para q isso não aconteça um modo rápido de fazer e excluir o arquivo pois ele cria outro automaticamente, basta inserir a linha
antes da linha
exemplo:
MontaXML><Horizontal>20</Horizontal><Vertical>30</Vertical></MontaXML>
para q isso não aconteça um modo rápido de fazer e excluir o arquivo pois ele cria outro automaticamente, basta inserir a linha
File.Delete(NomeArquivoXML)
antes da linha
Dim oFil As FileStream = New FileStream(NomeArquivoXML, FileMode.Append, FileAccess.Write)
GOSTEI 0
Groove
24/04/2007
Alias o codigo acima vc vai incluido uma linha ( ou melhor uma configuração abaixo da outra como um texto)
exemplo:
para q isso não aconteça um modo rápido de fazer e excluir o arquivo pois ele cria outro automaticamente, basta inserir a linha
antes da linha
MontaXML><Horizontal>20</Horizontal><Vertical>30</Vertical></MontaXML>
File.Delete(NomeArquivoXML)
Dim oFil As FileStream = New FileStream(NomeArquivoXML, FileMode.Append, FileAccess.Write)
desculpe mas como aqui naum podemos editar tive q postar novamente
o exemplo certo seria assim
<MontaXML><Horizontal>20</Horizontal><Vertical>30</Vertical></MontaXML> <MontaXML><Horizontal>30</Horizontal><Vertical>50</Vertical></MontaXML> <MontaXML><Horizontal>60</Horizontal><Vertical>20</Vertical></MontaXML> <MontaXML><Horizontal>40</Horizontal><Vertical>70</Vertical></MontaXML>
GOSTEI 0
Tzapquiel
24/04/2007
mano vc é o cara mesmo!! hehehe
legal olha eu vou fazer alguns testes pra ver mas na primeira tentativa funfou legal mano!!
vc não quer me ajudar com o outro topico de exibir os icones de uma pasta ?
legal olha eu vou fazer alguns testes pra ver mas na primeira tentativa funfou legal mano!!
vc não quer me ajudar com o outro topico de exibir os icones de uma pasta ?
GOSTEI 0