Hola a todos tengo un problema con un label.
Quiero usar la propiedad autosize pero que me marque el alto del objeto no el ancho
por ejemplo quiero que el ancho sea fijo y se valla modificando el alto del label en funcion de las lineas de ese label.
no se si me habeis entendido un saludo.
Haber si entendi bien lo que quieres es que cuando le mandes una cadena a un label y esta se pasa de un width especifico, se debe de saltar a la siquiente linea dentro del label, y asi sucesivamente ¿?, es esto correcto ¿?, no se si haya una propiedad que haga posible esto, con un chr(13) deberia de funcionar
label1.text = "cadena1" & chr(13) & "cadena2)
No me sirve
porquie el texto luego puede cambiar en ejecucion y ponerse menos texto y ademas quiero que el ancho del objeto sea simpre 200 y si pongo Cadena1 & ...
Yo no se lo que me ocupa cadena.
Con qué lenguaje.
Muy bien, entonces vamos a ver como le hacemos: hacemos unas pruebas con el label, y veamos cuantos pixeles ocupa una fila y una columna dentro del label, creamos un nuevo proyecto agregamos un label, un textbox, un boton y en el evento load, ponemos lo siguiente:
label1.text ="a"
msgbox label1.width 'con eso sabemos que un caracter ocupa 13 pixeles luego lo eliminas
Bueno entonces si tu deseas que tu width sea de 200px, hagamos lo siguiente en el evento click del boton.
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim txt As String = TextBox1.Text 'se recupera la cadena
Dim pix As Integer = 13 'cantidad que ocupa un caracter en pixeles
Dim a As Integer = txt.ToString.Length 'total de caracteres de la cadena
Dim tperm As Integer = 200 / pix 'numero de caracteres por fila
Dim b, c As Integer 'contador
c = 1
Dim aux As String 'variable temporal que tomara los valores de cada fila
For b = 0 To a - 1
If c = tperm Then
Label1.Text = Label1.Text & Chr(13) & aux
aux = ""
c = 1
Else
aux = aux & txt.ToString.Substring(b, 1)
c = c + 1
End If
Next
End Sub
Quizas eso funcione, saludos.