J'ai un DataGridView avec une colonne de cellules de zone de texte qui doivent avoir un texte en filigrane. J'ai aussi une classe statique qui utilise DLLImport pour ajouter un filigrane à une zone de texte en utilisant SendMessage avec un hWnd IntPtr comme l'un des paramètres, comme ceci:Obtenir un handle IntPtr à partir d'un DataGridViewTextBoxCell?
public static void SetWatermark(TextBox textBox, string watermarkText)
{
SendMessage(textBox.Handle, EM_SETCUEBANNER, 0, watermarkText);
}
Le problème est, alors que la zone de texte hérite de la propriété Control.Handle, DataGridViewTextBoxCell non, donc je ne peux pas obtenir ce paramètre IntPtr. Je comprends que la cellule utilise un contrôle TextBox pour modifier la valeur, donc ne devrait pas y avoir un moyen d'arriver à ce handle?
J'utilise .NET 2.0 et C#