Estoy buscando una forma de agregar un botón de cerrar a un objeto .NET ToolTip similar al que tiene NotifyIcon. Estoy usando la información sobre herramientas como un globo de mensaje llamado programáticamente con el método Show(). Eso funciona bien, pero no hay ningún evento onclick o una forma fácil de cerrar la información sobre herramientas. Tienes que llamar al método Hide() en otro lugar de tu código y prefiero que la información sobre herramientas se cierre solo. Sé que hay varios globos de información sobre herramientas alrededor de la red que usan código administrado y no administrado para realizar esto con la API de Windows, pero prefiero quedarme en mi cómodo mundo .NET. Tengo una aplicación de terceros que llama a mi aplicación .NET y tiene bloqueos al intentar mostrar información sobre herramientas no administradas.Agregar botón de cerrar (rojo x) a .NET ToolTip
Respuesta
Puede probar implementar su propia ventana de punta de herramienta anulando la existente y personalizando la función onDraw. Nunca intenté agregar un botón, pero he hecho otras personalizaciones con la información sobre herramientas antes.
1 class MyToolTip : ToolTip
2 {
3 public MyToolTip()
4 {
5 this.OwnerDraw = true;
6 this.Draw += new DrawToolTipEventHandler(OnDraw);
7
8 }
9
10 public MyToolTip(System.ComponentModel.IContainer Cont)
11 {
12 this.OwnerDraw = true;
13 this.Draw += new DrawToolTipEventHandler(OnDraw);
14 }
15
16 private void OnDraw(object sender, DrawToolTipEventArgs e)
17 {
...Code Stuff...
24 }
25 }
Usted puede tratar de reemplazar el método CreateParams en su implementación de la clase de información sobre herramientas ... es decir
protected override CreateParams CreateParams
{
get
{
CreateParams cp = base.CreateParams;
cp.Style = 0x80 | 0x40; //TTS_BALLOON & TTS_CLOSE
return cp;
}
}
Puede subclase de la clase de información sobre herramientas con sus propias CreateParams que define el estilo de TTS_CLOSE:
private const int TTS_BALLOON = 0x80;
private const int TTS_CLOSE = 0x40;
protected override CreateParams CreateParams
{
get
{
var cp = base.CreateParams;
cp.Style = TTS_BALLOON | TTS_CLOSE;
return cp;
}
}
El estilo TTS_CLOSE también requires el estilo TTS_BALLOON y también debe establecer la propiedad ToolTipTitle en la información sobre herramientas.
Para que este estilo funcione, debe habilitar los estilos Common Controls v6 using an application manifest.
Añadir un nuevo "Aplicación archivo de manifiesto" y añadir la siguiente bajo el > elemento < montaje:
<dependency>
<dependentAssembly>
<assemblyIdentity
type="win32"
name="Microsoft.Windows.Common-Controls"
version="6.0.0.0"
processorArchitecture="*"
publicKeyToken="6595b64144ccf1df"
language="*"
/>
</dependentAssembly>
</dependency>
En Visual Studio 2012, al menos, este material está incluido en la plantilla por defecto pero comentado - puedes simplemente descomentarlo.
- 1. cómo cerrar jQuery tooltip
- 2. Evento para el botón rojo Cerrar de NSWindowController
- 3. Añadir botón de cerrar a UIModalPresentationPageSheet esquina
- 4. Tooltip en .Net
- 5. wxNotebook Cerrar botón?
- 6. Windows Forms: cómo ocultar el botón Cerrar (x)?
- 7. agregar un botón de cerrar para el modelo jquery (BlockUI)
- 8. Invalidar botón Cerrar estándar (X) en Windows Forms
- 9. Cómo atrapar el evento del botón de cerrar la ventana (botón X rojo en la esquina superior derecha de la ventana) en formato wpf?
- 10. Botón de cerrar sesión php
- 11. IE8 no se visualizan imágenes (rojo x) ... a veces
- 12. Botón Agregar a UITableViewCell
- 13. Botón para cerrar un JDialog
- 14. Botón HTML Cerrar ventana
- 15. ExtJS: botón Agregar a htmleditor
- 16. botón Agregar Divulgación a MKPointAnnotation
- 17. Agregar un botón a MediaController
- 18. Agregar botón positivo a Dialog
- 19. jQuery UI: datepicker - Cómo agregar Botón de cerrar (Imagen!) En la parte superior derecha?
- 20. WPF Tooltip Visibilidad
- 21. Agregar botón a la izquierda de UISearchBar
- 22. XAML ToolTip + IsHitTestVisible = "False"
- 23. GTK C - Cómo editar la función del botón Cerrar ventana (el botón X en la esquina superior derecha)?
- 24. C# - Botón Agregar dentro de ListBox
- 25. Cómo deshabilitar (u ocultar) el botón de cerrar (x) en un JFrame?
- 26. Diálogo Dojo cerrar evento en X (arriba-derecha)
- 27. Cómo agregar IntelliSense Tooltip Compatibilidad con la biblioteca (dll)
- 28. Agregar un botón Actualizar a jQuery Datatable
- 29. Agregar un botón a Winforms DataGridView
- 30. Agregar botón izquierdo a UINavigationBar (iPhone)
¿Alguien puede confirmar que esto funciona? Cómo se ve? – Justin
No. Acabo de tratar. :( –