Cómo wordwrap texto que hay que aparecerán en la descripción decómo wordWrap texto en la descripción de
Respuesta
Parece que no se admite directamente:
¿Cómo wordWrap la información sobre herramientas que ¿se visualiza?
Aquí es un método que utiliza la reflexión para lograrlo.
[ DllImport("user32.dll") ] private extern static int SendMessage(IntPtr hwnd, uint msg, int wParam, int lParam); object o = typeof(ToolTip).InvokeMember("Handle", BindingFlags.NonPublic | BindingFlags.Instance | BindingFlags.GetProperty, null, myToolTip, null); IntPtr hwnd = (IntPtr) o; SendMessage(hwnd, 0x0418, 0, 300);
Rhett Gong
Otra forma, es crear una expresión regular que se ajusta automáticamente.
WrappedMessage := RegExReplace(LongMessage,"(.{50}\s)","$1`n")
Esto se parece a un código PHP o algo así. Aquí está la versión C#: Regex rgx = new Regex ("(. {50} \\ s)"); cadena WrappedMessage = rgx.Replace (longMessage, "$ 1 \ n"); – Patratacus
Este es un artículo que escribí hace poco, yo se que no es el mejor pero funciona. Es necesario extender el control sobre herramientas de la siguiente manera:
using System;
using System.Collections.Generic;
using System.Windows.Forms;
public class CToolTip : ToolTip
{
protected Int32 LengthWrap { get; private set; }
protected Control Parent { get; private set; }
public CToolTip(Control parent, int length)
: base()
{
this.Parent = parent;
this.LengthWrap = length;
}
public String finalText = "";
public void Text(string text)
{
var tText = text.Split(' ');
string rText = "";
for (int i = 0; i < tText.Length; i++)
{
if (rText.Length < LengthWrap)
{
rText += tText[i] + " ";
}
else
{
finalText += rText + "\n";
rText = tText[i] + " ";
}
if (tText.Length == i+1)
{
finalText += rText;
}
}
}
base.SetToolTip(Parent, finalText);
}
}
Y lo va a usar como:
CToolTip info = new CToolTip(Control,LengthWrap);
info.Text("It looks like it isn't supported directly. There is a workaround at
http://windowsclient.net/blogs/faqs/archive/2006/05/26/how-do-i-word-wrap-the-
tooltip-that- is-displayed.aspx:");
Es posible ajustar el tamaño de la información de herramientas usando e.ToolTipSize
propiedad, esto obligará ajuste de texto:
public class CustomToolTip : ToolTip
{
public CustomToolTip() : base()
{
this.Popup += new PopupEventHandler(this.OnPopup);
}
private void OnPopup(object sender, PopupEventArgs e)
{
// Set custom size of the tooltip
e.ToolTipSize = new Size(200, 100);
}
}
para WPF, puede utilizar la propiedad TextWrapping:
<ToolTip>
<TextBlock Width="200" TextWrapping="Wrap" Text="Some text" />
</ToolTip>
- 1. Gridview wordwrap
- 2. Wordwrap de columna en JQGrid
- 3. Cómo agregar wordWrap en spark GridColumn
- 4. Wordwrap con Monodevelop.texteditor
- 5. Descripción de la codificación de texto (en .Net)
- 6. Cómo acceder al texto de descripción en rspec
- 7. JavaFX: setWrapText (true) (WordWrap) no funciona en ListView
- 8. El texto de la descripción de la aplicación iTunes Connect no aceptará saltos de línea, descripción comprimida
- 9. Java: Descripción general de los motores de texto a voz
- 10. ¿Cómo se cambia la descripción de un repositorio en GitHub?
- 11. ¿Cómo puedo combinar dos campos en una descripción de texto SelectList?
- 12. Descripción de ServiceKnownType en WCF
- 13. Ebay API con descripción
- 14. Descripción de la arquitectura de Google V8
- 15. ¿Cómo agregar "Descripción del proyecto" en FogBugz?
- 16. Obtener Outlook 2010 Descripción de la regla
- 17. ¿Cómo hacer que NSAssert log la descripción en Xcode4?
- 18. ¿Cómo representar esta oración en la descripción lógica?
- 19. Arte ASCII en la descripción optparse
- 20. Descripción de MBean estándar
- 21. Descripción de TreeMaps
- 22. Cómo implementar wordwrap en jqGrid que funciona en IE7, IE8 y FF
- 23. Descripción de matrices tridimensionales
- 24. Cómo obtener la descripción de C# Enum del valor?
- 25. Descripción de BaseAdapters y cómo usarlos
- 26. control de líneas en blanco en la descripción de la aplicación Google Play
- 27. Descripción de la tabla de objetos en ejecución
- 28. ¿Puedo obtener una descripción de texto de un código de moneda ISO en Java?
- 29. Establecer la descripción del servicio de Windows en C++
- 30. del cuadro de descripción usando "onmouseover"
Hola, ¿dónde poner este código? –
El número mágico 0x418 debería idealmente definirse como una constante con el mismo nombre que el utilizado en el archivo de encabezado correspondiente Commctrl.h: "constint privado TTM_SETMAXTIPWIDTH = 0x418" - esto hace que sea más fácil buscar más información en google. – Joe
En Windows 7, experimento que este truco solo resuelve el problema cuando los estilos visuales están deshabilitados en el sistema operativo. ¿Alguna idea de cómo resolver esa situación? – Mustafa