Ir para conteúdo
Fórum Script Brasil
  • 0

Quebra de linha (VB.NET)


Xistyle

Pergunta

Camaradas, boa tarde!

Estou com uma dúvida lógica e não sei muito bem como resolvê-la. Preciso delimitar o tamanho de um texto em uma quantidade x de letras, mas também não posso cortar as palavras.

Basicamente preciso de um algoritmo para simular o Quebra de linha automática/Word Wrap" do Notepad.

Alguém tem alguma idéia?

Abraços

Link para o comentário
Compartilhar em outros sites

6 respostass a esta questão

Posts Recomendados

  • 0

Olha, acho que não tem como, porque senão tem que ter um dicionário pra verificar palavra por palavra.

E mesmo assim daria BUG, porque o cara no fim da frase vai escrever a palavra SEJA mas o campo só vai até o SE.

SE é uma palavra válida e iria passar tranquilo.

Acho que não tem como fazer o que tu está tentando. Se tiver quero saber também.

Link para o comentário
Compartilhar em outros sites

  • 0

É não deu muito o que quis fazer... tentei fazer uma verificação da palavra, pela proximidade do espaço. Pega a palavra cortada, busca o próximo espaço, pega o resto da palavra e concatena. Ai insere a quebra de linha.

Mas não deu muito certo :/

Vou procurar outra forma de fazer...

Link para o comentário
Compartilhar em outros sites

  • 0

Bom se alguém tiver idéia de como me ajudar de outra forma então, está bem vindo...

Tenho uma TreeView. Gostaria de, ao clicar em um nó da TreeView, que fosse mostrado um Panel.

O problema é que gostaria de usar alguns recursos gráficos. No evento Paint desse Panel, coloquei algumas rotinas pra (espero) abrir o panel em Smooth.

Agora... como devo chamar esse evento? Em que momento ele é chamado?

Link para o comentário
Compartilhar em outros sites

  • 0
É não deu muito o que quis fazer... tentei fazer uma verificação da palavra, pela proximidade do espaço. Pega a palavra cortada, busca o próximo espaço, pega o resto da palavra e concatena. Ai insere a quebra de linha.

Mas não deu muito certo :/

Vou procurar outra forma de fazer...

xistyle, to sem .net no pc q to usando no momento, mas fiz um codigo aqui no vb6, você pode pegar a logica e converter, mas acho q vai ficar quase tudo a mesma coisa:

Private Sub Command1_Click()
    Dim cpl As Integer, p As Integer
    Dim txt As String, l As String
    
    cpl = 20 'caracteres por linha
    txt = Text1.Text
    l = ""
    
    Do While Len(txt) > cpl
        l = l & Left(txt, cpl)
        txt = Mid(txt, cpl + 1)
        
        p = InStr(txt, " ")
        
        If p = 0 Then
            l = l & txt
            txt = ""
        Else
            l = l & Left(txt, p) & vbCrLf
            txt = Mid(txt, p + 1)
        End If
    Loop
    l = l & txt
    
    Text1.Text = l
End Sub[/code]

isso ai quebra linha no primeiro espaco q encontrar a cada 20 caracteres num textbox.

veja ai se não é isso q você queria.

Editado por kuroi
Link para o comentário
Compartilhar em outros sites

  • 0

Ainda estou apanhando desse VB.NET... preciso tirar mais uma dúvida que parece óbvio, mas não consigo enxergar.

Tenho uma DataGridView. Ela carrega as informações de um DataTable. Inicialmente, na grid, são carregados apenas alguns dados.

Ao clicar em uma linha, as demais informações são carregadas em seus respectivos TextBoxes.

Isso ocorre no evento CellClick da Grid.

Gostaria que, ao pressionar a seta para baixo, fosse simulado o CellClick na linha de baixo. Usei o KeyDown para verificar a seta para baixo e chamei o CellClick da seguinte forma:

Private Sub dgvResultado_KeyDown(ByVal sender As Object, ByVal e As System.Windows.Forms.DataGridViewCellEventArgs) Handles dgvResultado.KeyDown 
Dim eDataGridEvents As System.Windows.Forms.DataGridViewCellEventArgs

    If e.KeyValue = Keys.Down Then
        dgvResultado_CellClick(dgvResultados, eDataGridEvents)
    End If

End Sub

Porém, se na Grid a linha selecionada tem Index = 2, no KeyDown ele vale 1. Como arrumar isso?

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,2k
    • Posts
      652k
×
×
  • Criar Novo...