§uiciDa£ Postado Junho 19, 2005 Denunciar Share Postado Junho 19, 2005 Eae galera eu to fazzendo um editor pelo RichTextBox...e este editor não pode aceitra a tecla n...como eu faço pra q quando o usuario precionar a tecla n, não acontteça nd no editor ?já tenteiif(e.KeyChar == (char)'n'){SendKeys.send("");}e algumas otras opções, se alguém souber, por favor me avise...t+ Link para o comentário Compartilhar em outros sites More sharing options...
0 Graymalkin Postado Junho 19, 2005 Denunciar Share Postado Junho 19, 2005 Para bloqueá-la você só precisa fazer:if (e.KeyChar=='n') e.Handled = true;Certo? Abraços,Graymalkin Link para o comentário Compartilhar em outros sites More sharing options...
0 §uiciDa£ Postado Junho 20, 2005 Autor Denunciar Share Postado Junho 20, 2005 vlwww velhinhuuuuuuuuu eu gostaria de saber mais uma coisa cara...tem como eu saber a primeira letra de cada linha do RichtextBox...exemplo:AbbbbBccccCdddddae no caso pegar o A o B e o C...t++ Link para o comentário Compartilhar em outros sites More sharing options...
0 Graymalkin Postado Junho 20, 2005 Denunciar Share Postado Junho 20, 2005 Sim, você pode fazer isso assim:foreach (string linha in richTextBox1.Lines) { MessageBox.Show(new string(linha[0], 1)); }Note que linha[0] *já* te retorna um char com o primeiro caracter da linha. Tive que gerar uma string a partir disso só para mostrar no MessageBox (se o caso for outro, talvez você nem precise).Abraços,Graymalkin Link para o comentário Compartilhar em outros sites More sharing options...
0 §uiciDa£ Postado Junho 20, 2005 Autor Denunciar Share Postado Junho 20, 2005 hum vlww cara...tipo, e se eu quiser pegara primeira letra, mais de qualquer linha (uma linha q eu não sei), tipo eu tnho q fazer uma função q verifica se o cursor esta na 1ª coluna, mais de uma linha qualquer...se você soubeer me da uma ajud,a porque eu já tentei de td x(...t++ Link para o comentário Compartilhar em outros sites More sharing options...
0 Graymalkin Postado Junho 21, 2005 Denunciar Share Postado Junho 21, 2005 Cara... acho que você não pegou a essência do exemplo anterior. A propriedade Lines é um vetor ou coleção, ou seja, você pode se referir a uma determinada linha a partir de um índice. Exemplo: // 1º caracter da primeira linha String c1 = new string(richTextBox1.Lines[0][0], 1); // 1º caracter da segunda linha; String c2 = new string(richTextBox1.Lines[1][0], 1); // 1º caracter da n-ésima linha; String cn = new string(richTextBox1.Lines[n][0], 1);Certo? Abraços,Graymalkin Link para o comentário Compartilhar em outros sites More sharing options...
0 §uiciDa£ Postado Junho 21, 2005 Autor Denunciar Share Postado Junho 21, 2005 poxa veio realmente eu num peguei esse negocio O.o...tipo me dauma força, eu to com um dódigo no KeyPress de um RichtextBox (code)olha o q eu qro faze if(e.KeyChar == (char)'G') { code.SelectionStart = code.TextLength; code.SelectionLength = 1; code.SelectionColor = Color.FromArgb(255,0,0); } ... ... ... mais esse códdigo só pode funcionar se for o primeiro caracter de qualquer linha... eu tentei fazer assim ó: String c1 = new string(richTextBox1.Lines[0][0], 1); if(c1 == "g") ... ... ... mais quando eu digito algum caracter ele da esse erro : o Indice estava fora dos limites da matriz... espero q você possa me ajudar...t++ Link para o comentário Compartilhar em outros sites More sharing options...
0 Graymalkin Postado Junho 23, 2005 Denunciar Share Postado Junho 23, 2005 Você quer deixar a primeira letra de cada linha com uma cor diferente? Já teve um outro tópico a respeito disso (colorir um texto na RichTextBox) no qual eu disse que utilizar a seleção *não* é a melhor maneira (a melhor é mudar diretamente no RTF). Experimente fazer uma busca e veja se aquela solução resolve o seu caso. Se não, dá um grito aí que a gente vê o que consegue. Abraços,Graymalkin Link para o comentário Compartilhar em outros sites More sharing options...
0 §uiciDa£ Postado Junho 23, 2005 Autor Denunciar Share Postado Junho 23, 2005 (editado) Então havia sido eu mesmo que tnha perguntado..., e eu não consegui fazer com o codigo RTF (falta de pratica) eu havia pego um componente pra afzer o q eu qria, mais pra essa duvida minha não axei nenhum componente nem nd a respeito...a única coisa que preciso fazer é verificar se foi digitada uma palavra na primeira coluna de uma linha...se você souber... me ajuda plzz -Ae cara, você conhece alguma apostila sobre codificação RTF ??porque eu já tentei de todos os jeitos aprender, inclusive salvar u arquivo .RTF e abrir no bloco de notas pra estudar sua estrutura, mais ,´e muito confuso...t++ Editado Junho 23, 2005 por §uiciDa£ Link para o comentário Compartilhar em outros sites More sharing options...
0 Graymalkin Postado Junho 24, 2005 Denunciar Share Postado Junho 24, 2005 a única coisa que preciso fazer é verificar se foi digitada uma palavra na primeira coluna de uma linha...Como assim "uma palavra na primeira coluna de uma linha"? Ae cara, você conhece alguma apostila sobre codificação RTF ??porque eu já tentei de todos os jeitos aprender, inclusive salvar u arquivo .RTF e abrir no bloco de notas pra estudar sua estrutura, mais ,´e muito confuso...Cara... não conheço nenhuma apostila sobre isso não. O pouco que sei eu aprendi olhando a estrutura, como você fez.Abraços,Graymalkin Link para o comentário Compartilhar em outros sites More sharing options...
0 §uiciDa£ Postado Junho 24, 2005 Autor Denunciar Share Postado Junho 24, 2005 a primeira coluna, eu digo a primeira letra ;Pbom, vlw Gray... eu vo ve se consigo algum resultado...mais se você tiver alguma ideia ou algo me fale plzz ^^...--Ae Gray, eu montei este codigo, mais ele esta com muitos erros : string comeco = "{\\rtf1\\ansi\\ansicpg1252\\deff0\\deflang1046{\\fonttbl{\\f0\\fnil\\fcharset0 Microsoft Sans Serif;}}"; string cores = "{\\colortbl;\\red0\\green0\\blue255; \\red0\\green255\\blue0;}"; string inicio = "\\viewkind4\\uc1\\pard\\f0\\fs17"; string texto = codigo.Text; int cursor = codigo.SelectionStart; if(e.KeyChar == 'G') { e.Handled = true; texto = texto + "\\cf2 G \\cf0"; codigo.Rtf = comeco + cores + inicio + texto + "\\par"; codigo.SelectionStart = cursor+1; } tipo:Depos de digitar G, todos as letras fikam do cor do G... e a seleção etsa voltando erradose você conseguir me ajudar a resolver este codigo eu agradeceria muito ;;;t+ Link para o comentário Compartilhar em outros sites More sharing options...
0 Graymalkin Postado Junho 25, 2005 Denunciar Share Postado Junho 25, 2005 Hummm... esse seu código me deu uma idéia. Coloque o seguinte código em um botão e veja o resultado quando o mesmo é clicado: string comeco = "{\\rtf1\\ansi\\ansicpg1252\\deff0\\deflang1046{\\fonttbl{\\f0\\fnil\\fcharset0 Microsoft Sans Serif;}}"; string cores = "{\\colortbl;\\red0\\green0\\blue255; \\red0\\green255\\blue0;}"; string inicio = "\\viewkind4\\uc1\\pard\\f0\\fs17"; string nrtf = comeco + cores + inicio; RTF1.Lines = new string[] {"um teste", "outro teste", "mais outro teste", "e ainda outro teste"}; foreach (string linha in RTF1.Lines) { nrtf += "\\cf1 " + linha[0] + "\\cf0 " + linha.Substring(1) + "\\par"; }; RTF1.Rtf = nrtf;Note que a RichTextBox aí se chama RTF1. Sacou? Abraços,Graymalkin Link para o comentário Compartilhar em outros sites More sharing options...
0 §uiciDa£ Postado Junho 25, 2005 Autor Denunciar Share Postado Junho 25, 2005 putz gray, eu tentei asim ó: int sel = RTF1.SelectionStart; string comeco = "{\\rtf1\\ansi\\ansicpg1252\\deff0\\deflang1046{\\fonttbl{\\f0\\fnil\\fcharset0 Microsoft Sans Serif;}}"; string cores = "{\\colortbl;\\red0\\green0\\blue255; \\red0\\green255\\blue0;}"; string inicio = "\\viewkind4\\uc1\\pard\\f0\\fs17"; string nrtf = comeco + cores + inicio; //RTF1.Lines = new string[] {"Gum teste", "Goutro teste", "mais outro teste", "e ainda outro teste","Gay"}; foreach (string linha in RTF1.Lines) { if(linha.StartsWith("G") == true) { nrtf += "\\cf1 " + linha[0] + "\\cf0 " + linha.Substring(1) + "\\par"; } /*else { nrtf += "\\cf0 " + linha[0] + "\\cf0 " + linha.Substring(1) + "\\par"; }*/ }; RTF1.Rtf = nrtf; RTF1.SelectionStart = sel; } no KetPress, mais ele não lê o ENTER, ou seja não pula linha eu vo ve se xego a algum consenço aqui ^^t++ Link para o comentário Compartilhar em outros sites More sharing options...
0 Graymalkin Postado Junho 25, 2005 Denunciar Share Postado Junho 25, 2005 Eu pensei que todo o primeiro caracter de cada linha deveria ficar colorizado. Mas, você só quer o "G" especificamente? Desculpe a pergunta, mas qual seria o propósito disso?Abraços,Graymalkin Link para o comentário Compartilhar em outros sites More sharing options...
0 §uiciDa£ Postado Junho 25, 2005 Autor Denunciar Share Postado Junho 25, 2005 EU estou fazendo um pograma grafico para CNC (torno)ou seja, ele desenha uma peça de acordo com as cordenadas...tudo já esta pronto, e esta funcionando numa boa...só falta eu fazer o editor de códigos...pois a sinte-se seria assim ó:G1.X100.Z100# //vai usar o comando G... o x move para 100 e o Z para 100mais o q acontece é q fika muito confuso varias linhas disso, por isso eu gostaria de colorir o código ^^...t+ Link para o comentário Compartilhar em outros sites More sharing options...
0 Graymalkin Postado Junho 25, 2005 Denunciar Share Postado Junho 25, 2005 EU estou fazendo um pograma grafico para CNC (torno)ou seja, ele desenha uma peça de acordo com as cordenadas...tudo já esta pronto, e esta funcionando numa boa...só falta eu fazer o editor de códigos...pois a sinte-se seria assim ó:G1.X100.Z100# //vai usar o comando G... o x move para 100 e o Z para 100mais o q acontece é q fika muito confuso varias linhas disso, por isso eu gostaria de colorir o código ^^...t+ Ah, ok. Mas, você não pode mudar a cor de todos os Gs do texto? Só podem os Gs que iniciam uma linha? De qualquer forma, para ambos, as soluções já estão nos posts acima.Abraços,Graymalkin Link para o comentário Compartilhar em outros sites More sharing options...
0 Guest Guest Postado Junho 26, 2005 Denunciar Share Postado Junho 26, 2005 bom de preferencia os q iniciam, mais se não tiver como, pode ser todos...se você axar uma siada por favor poste ^^brigadot+§uiciDa£ Link para o comentário Compartilhar em outros sites More sharing options...
0 Graymalkin Postado Junho 26, 2005 Denunciar Share Postado Junho 26, 2005 bom de preferencia os q iniciam, mais se não tiver como, pode ser todos...se você axar uma siada por favor poste ^^ A maneira mais fácil que encontrei foi deixar todos os primeiros caracteres de cada linha em uma cor diferente (seja G ou qualquer outro). Experimente colocar o seguinte no evento KeyPress da RTF: string comeco = "{\\rtf1\\ansi\\ansicpg1252\\deff0\\deflang1046{\\fonttbl{\\f0\\fnil\\fcharset0 Microsoft Sans Serif;}}"; string cores = "{\\colortbl;\\red0\\green0\\blue255; \\red0\\green255\\blue0;}"; string inicio = "\\viewkind4\\uc1\\pard\\f0\\fs17"; string nrtf = comeco + cores + inicio; int pos = RTF1.SelectionStart; foreach (string linha in RTF1.Lines) { if (linha.Length>0) nrtf += "\\cf1 " + linha[0] + "\\cf0 " + linha.Substring(1) + "\\par"; else nrtf += "\\cf1 \\cf0 "; } RTF1.Rtf = nrtf; RTF1.SelectionStart = pos;E veja o resultado. Abraços,Graymalkin Link para o comentário Compartilhar em outros sites More sharing options...
0 Guest Guest Postado Junho 26, 2005 Denunciar Share Postado Junho 26, 2005 Pow Gray, muito obrigado pela ajuda...graças a você o programa ta quase pronto, quando eu acabar eu posto ele aqui caso alguém queira ver o código ^^t+ Link para o comentário Compartilhar em outros sites More sharing options...
0 Graymalkin Postado Junho 27, 2005 Denunciar Share Postado Junho 27, 2005 Beleza! Fechando então.Abraços,Graymalkin Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
§uiciDa£
Eae galera eu to fazzendo um editor pelo RichTextBox...
e este editor não pode aceitra a tecla n...
como eu faço pra q quando o usuario precionar a tecla n, não acontteça nd no editor ?
já tentei
if(e.KeyChar == (char)'n')
{
SendKeys.send("");
}
e algumas otras opções, se alguém souber, por favor me avise...
t+
Link para o comentário
Compartilhar em outros sites
19 respostass a esta questão
Posts Recomendados