Título: Intentar hacer scroll bar Publicado por: Meta en 23 Diciembre 2015, 01:53 am Hola:
El componente richTextBox en la aplicación WPF, al introducir datos, se crea el auto scroll, luego se va viendo lo lúltimo recibido abajo. El código es este. (https://social.msdn.microsoft.com/Forums/getfile/771689) Código
El problema es usarlo con WPF, no hace ningún tipo de scrollbar. ¿Cuál es su equivalencia para WPF? Un cordial saludos. PD: Uso Visual Studio Community 2015. Título: Re: Intentar hacer scroll bar Publicado por: Eleкtro en 23 Diciembre 2015, 02:58 am Primero las soluciones:
1. Tanto en WinForms cómo WPF puedes utilizar el método AppendText: Código
2. En WPF, para asignar el texto de un control RichTextBox debes crear un FlowDoc: Código
3. Para desplazarte hasta el final del documento, puedes utilizar el método ScrollToEnd: Código
Segundo, las recomendaciones, aunque intuyo que no me vas a hacer caso... 1. Para lo que quieres hacer, es un error utilizar un RichTextBox ya sea en WinForms o WPF, ya que como el nombre del control indica por si mismo su finalidad es mostrar texto con formato rich, pero si no lo utilizas con este fin entonces estarás sobrecargando la aplicación sin motivo coherente. En su lugar debes utilizar un control TextBox, el cual además en WPF si que encontrarás la propiedad Text para mayor comodidad. (y también el método ScrollToEnd) Nota: Asegúrate de modificar la propiedad TextBox.MaxLength para tus necesidades, ya sea en tecnología WinForms o WPF. 2. Los nombres de los controles (o mejor dicho, de los miembros marcados con visibilidad internal/Friend) los escribes en Camel-Case, pero se deben escribir en Pascal-Case; esto sería así: NombreDeControl o RichTextBox1 Tal vez te parecerá una tontería, pero siguiendo correctamente las directrices de nomenclatura te acostumbrarías mucho mejor al lenguaje en cuestión, y aprovecharias el potencial para ser mejor programador, ya que reforzarías este aspecto que un programador debe tener presente. Te dejo un link interesante sobre los beneficios generales de esto: https://en.wikipedia.org/wiki/Naming_convention_%28programming%29 Saludos. Título: Re: Intentar hacer scroll bar Publicado por: Meta en 23 Diciembre 2015, 05:31 am Hola:
Muchas gracias por la ayuda, voy a probar todo palmo a palmo. En cuanto al usar TextBox,lo hacía antiguamente por el 2008 y prsenté este vídeo. Como verás, no había forma de quitar caracteres raros del principio y fin que muestra este vídeo como prueba. 1sTaKKoGIqA Dscubrí richTextBox en su época ya por el 2010, ahora con el 2015 me hancontado otros programadores que use listBox, me parece como más incómodo y no se maneja igual que los dos anteriores. Deja hacer pruebas y te comento, gracias de nuevo por los consejos. Un cordial saludo. Título: Re: Intentar hacer scroll bar Publicado por: Eleкtro en 23 Diciembre 2015, 06:18 am En cuanto al usar TextBox,lo hacía antiguamente por el 2008 y prsenté este vídeo. Como verás, no había forma de quitar caracteres raros del principio y fin que muestra este vídeo como prueba. No se nada de electrónica, pero creo que lo que el video prueba es que estuviste tratando incorrectamente los datos recibidos. Primero debes tratar los bytes al formar el string eligiendo la codificación correcta (eliminar todas las terminaciones nulas enviadas por el dispositivo), y luego mostrarlo en el TextBox o control deseado. Si volvieses a hacer el experimento, simplemente mide la longitud del String construido ( String.Length() ) y verás que se cuentan más caracteres de los que realmente crees que tiene; el TextBox simplemente representó esos caracteres nulos que no eliminaste y que no se ven a simple vista. Quizás esto te sirva: https://msdn.microsoft.com/en-us/library/system.io.ports.serialport.discardnull%28v=vs.110%29.aspx Saludos. Título: Re: Intentar hacer scroll bar Publicado por: Meta en 23 Diciembre 2015, 06:30 am Hola:
Eso pensé, esos carácteres que no se ven se son los comportamientos, los más usados son \n y \r, pero no los uso. Aquí hay un ejemplo rápido. http://www.codeproject.com/Articles/46603/A-PicRS-control-with-a-PIC-microcontroller-seri Desde que sustituí a richTextBox, se acabaron los problemas, lo curioso que me dicen que use el santo ListBox, ese no me gusta mucho porque eliges línea a línea. Saludos. Título: Re: Intentar hacer scroll bar Publicado por: Eleкtro en 23 Diciembre 2015, 07:00 am Desde que sustituí a richTextBox, se acabaron los problemas, lo curioso que me dicen que use el santo ListBox, ese no me gusta mucho porque eliges línea a línea. Hombre, el (Rich)TextBox (o EditControl) sirve para representar texto editable o no, y el ListBox para representar elementos de texto estáticos seleccionables para el usuario, como ves no tienen mucho que ver... El ejemplo no puedo probarlo ya que no manejo esas cosas de electrónica, pero te curraste muchísimo la publicación, es de 10, eso si, desde el 2008 y que todavía se te resistan estas cositas de los timers... eso baja la nota :P. Saludos! Título: Re: Intentar hacer scroll bar Publicado por: Meta en 23 Diciembre 2015, 09:58 am Hola:
Me he pegado años sin usar RS232, se me ha olvidado muchísimo, ejjejeje. Ahora estoy de nuevo pero con Arduino. Dentro de poco subo las entradas de Arduino por puerto serie, el de encender y apagar un Led ya lo he publicado que puedes ver aquí (http://es.slideshare.net/Metaconta2/apagar-y-encender-led-con-arduino-y-visual-studio-2015). Poco a poco a recordar. Gracias por todo, cuando acabe el ejemplo completo, lo pongo aquí. Edito: He hecho este código. A pesar que se incluye texto y el lo último, no se muestra la barra del scroll. Código
No puedo desplazar nada porque no se muestra la barra del lateral o scroll. ¿Se te escapa algo o se me escapa a mi? Saludos. Título: Re: Intentar hacer scroll bar Publicado por: Eleкtro en 23 Diciembre 2015, 16:39 pm No puedo desplazar nada porque no se muestra la barra del lateral o scroll. Eso lo podrías resolver tu mismo...
Repasa los otros miembros de la class RichTextBox. Saludos Título: Re: Intentar hacer scroll bar Publicado por: Meta en 24 Diciembre 2015, 05:28 am Hola:
Lo he intentado así, pero no funciona. Código
Espero que no tenga que tocar nada en el XML. Saludos. Título: Re: Intentar hacer scroll bar Publicado por: Eleкtro en 24 Diciembre 2015, 12:09 pm Lo he intentado así, pero no funciona. Código
Solo tienes que asignarle el valor a la propiedad: Código
PD: Aparte, en el último código que has mostrado, o le asignas el FlowDoc o utilizas el método AppendText, pero no hagas las dos cosas al mismo tiempo (no tiene sentido hacerlo, ya que viene siendo lo mismo). Saludos Título: Re: Intentar hacer scroll bar Publicado por: Meta en 25 Diciembre 2015, 13:26 pm Hola:
Muchas gracias, ahora funciona de maravilla. Código
Felices fiestas campeón. ;) Título: Re: Intentar hacer scroll bar Publicado por: Meta en 28 Diciembre 2015, 00:18 am Hola:
Cuando me entra los datos, me entras uno seguido del otro como muestra aquí. (http://www.subeimagenes.com/img/retretyry-1581097.png) Debe verse uno encima del otro como indica abajo. (http://www.subeimagenes.com/img/retretyry-1581099.png) Este es su código. Código
He intentado hacer esto. Código Gravedad Código Descripción Proyecto Archivo Línea Error CS0029 No se puede convertir implícitamente el tipo 'string' en 'System.Windows.Documents.FlowDocument' Entrada_Arduino_WPF_2_CS C:\Users\Usuario\Documents\Visual Studio 2015\Projects\Entrada_Arduino_WPF_2_CS\Entrada_Arduino_WPF_2_CS\MainWindow.xaml.cs 76 He intentado todo el rato con más cosas. Lo único que funciona, si en el dispositovo pongo el "\n". No me interesa, quiero hacerlo desde la interfaz WPF C#. ¿Alguna idea? Falices fiestas 2015. ;) Título: Re: Intentar hacer scroll bar Publicado por: Eleкtro en 28 Diciembre 2015, 00:45 am He intentado hacer esto. Código
Ay! señor... El salto de linea debes añadírselo al string: Código ...¡Si es que esto ya lo sabes!. saludos! Título: Re: Intentar hacer scroll bar Publicado por: Meta en 28 Diciembre 2015, 01:36 am Hola:
Ese ejemplo me voldi´de decir que también lo he hecho, compila pero no funciona, se comporta como si no estuviera el "\n". Tiene que haber otra forma. Tampoco funciona así, lo pongo por si acaso alguien cree que funcine y no. Código
Saludos. Título: Re: Intentar hacer scroll bar Publicado por: Eleкtro en 28 Diciembre 2015, 04:33 am Código: Environment.NewLine Título: Re: Intentar hacer scroll bar Publicado por: Meta en 28 Diciembre 2015, 05:37 am Hola:
Así no funciona. Código
Ahora sí. Código
Con menos código. Código
A pesar de que funciona. ¿Habrá otra forma mejor que esta? Lo pregunto porque lo que hice puede ser chapuza. https://msdn.microsoft.com/es-es/library/system.environment.newline%28v=vs.110%29.aspx?f=255&MSPPError=-2147217396 Gracias por todo. |