RichTextBox (.NET WinForms) Problema (ou alternativa)
-
19-09-2019 - |
Pergunta
Eu tenho um problema com o .NET's RichTextBox ao controle. Parece que ele não suporta a formatação da célula da tabela, o que é engraçado, porque na maioria das vezes eu crio tabelas, quero que o conteúdo da célula seja alinhado à direita (números, moeda).
Se eu tentar abrir um documento WordPad no RichTextBox, ele ignora (e na verdade remove) os comandos para o alinhamento das células. Eu tentei várias soluções alternativas, mas não consegui.
Alguém pode pensar em uma ideia para consertar isso? (sem usar fontes e espaços de largura fixa) Essa seria a melhor solução, pois outro código já está funcionando bem, por isso, se apenas a coisa necessária for um hack sujo, seria ótimo.
Ou existe uma alternativa de código aberto para o editor de texto Rich .NET que você pode recomendar? Preciso de um controle de usuário que eu possa incorporar no meu formulário Windows e acessar o conteúdo programaticamente (criar conteúdo ou anexar alguma coisa). Eu procurei na Web há algum tempo, mas encontrei apenas controles da Web (Ajax/JavaScript).
Existem também editores HTML Wysiwyg que eu poderia usar, mas todos são basicamente um navegador do IE incorporado e editado usando o MSHTML, e é um pouco estranho ter isso em um aplicativo Winforms (talvez eu esteja errado). E nesse caso, precisaremos de algum tempo extra para implementar um gerador de conteúdo para HTML - embora seja muito mais fácil ler e gerar do que o RTF IMHO.
O que vocês acham melhor para esse fim?
Solução
Se você ainda estiver seguindo o caminho .NET WinForms, herde da RichTextBox e adicione o código a seguir, ele transformará a caixa de RichText em algo "utilizável":
[DllImport("kernel32.dll", CharSet = CharSet.Auto)]
static extern IntPtr LoadLibrary(string lpFileName);
protected override CreateParams CreateParams
{
get
{
CreateParams cparams = base.CreateParams;
if (LoadLibrary("msftedit.dll") != IntPtr.Zero)
{
cparams.ClassName = "RICHEDIT50W";
}
return cparams;
}
}
Proveniente de aqui.
Tenha um bom dia:)
Outras dicas
3. Também existem editores html wysiwyg que eu poderia usar, mas todos são basicamente um navegador IE incorporado e editado usando o MSHTML, e parece um pouco estranho em um aplicativo Winforms (talvez eu esteja errado).
Eu escrevi um editor html wysiwyg: o ModelText HTML Controle para .NET. É um código gerenciado puro, sem dependência de um navegador; Ele exporta APIs .NET, que permitem acessar seu conteúdo programaticamente.
A próxima versão a ser lançada (daqui a alguns dias) apoiará o alinhamento das células (apoiando a propriedade "Text-Align" CSS).