Ich muss einen Platzhalter anzeigen, der eine Zeichenfolge in den ersten beiden Spalten der ersten Zeile der Datagrid-Ansicht in Winforms enthält. Der Platzhalter soll angezeigt werden, wenn das Datagrid leer ist.Platzhaltertext in DataGridView-Zellen anzeigen
Antwort
Sie müssen CellPainting
Ereignis behandeln und sich Platzhalter ziehen:
void dataGridView1_CellPainting(object sender, DataGridViewCellPaintingEventArgs e)
{
if (e.RowIndex < 0 || e.ColumnIndex < 0) /*If a header cell*/
return;
if (!(e.ColumnIndex == 0 || e.ColumnIndex == 1) /*If not our desired columns*/
return;
if(e.Value == null || e.Value == DBNull.Value) /*If value is null*/
{
e.Paint(e.CellBounds, DataGridViewPaintParts.All
& ~(DataGridViewPaintParts.ContentForeground));
TextRenderer.DrawText(e.Graphics, "Enter a value", e.CellStyle.Font,
e.CellBounds, SystemColors.GrayText, TextFormatFlags.Left);
e.Handled = true;
}
}
Das ist richtig. –
Vielen Dank für die Hilfe. – biff
So können Sie diese (Arbeit für Textbox
) verbessern und ändern für dataGrid.Text
:
Textbox myTxtbx = new Textbox();
myTxtbx.Text = "Enter text here...";
myTxtbx.GotFocus += GotFocus.EventHandle(RemoveText);
myTxtbx.LostFocus += LostFocus.EventHandle(AddText);
public void RemoveText(object sender, EventArgs e)
{
if (myTxtbx.Text == "Enter text here...") {
myTxtbx.Text = "";
}
}
public void AddText(object sender, EventArgs e)
{
if(String.IsNullOrWhiteSpace(myTxtbx.Text))
myTxtbx.Text = "Enter text here...";
}
Hinweis: in myTxtbx.Text = "Enter text here...";
und if (myTxtbx.Text == "Enter text here...")
die Zeichenfolge „Geben Sie hier Text ... " muss gleich sein.
** 1) ** Es gibt keine 'TextBox ', bevor Sie in den Bearbeitungsmodus gehen. ** 2) ** Sie sollten "TextBox" keinen Text zuweisen. Sie sollten Platzhalter –
malen Meine Antwort ist nicht die beste, aber ich habe eine Idee der Verwendung geschrieben. –
- 1. MFC CEdit-Platzhaltertext
- 2. UITextField mit abschließendem Platzhaltertext
- 3. Platzhaltertext ändern
- 4. Platzhaltertext ist editierbar
- 5. Platzhaltertext mit Symbol ändern
- 6. Magicsuggest change Platzhaltertext
- 7. Center-Platzhaltertext im iPhone
- 8. Platzhaltertext in Formularumbrüchen beim Hinzufügen von Optionsfeldern
- 9. Platzhaltertext in UITextField von UISearchBar falsch ausgerichtet
- 10. Platzhaltertext (nur Entwurfsprozess) im Android-Layout?
- 11. kann nicht Stil HTML-Formulareingabe Platzhaltertext
- 12. Platzhaltertext in einem leeren (leeren) Textfeld in einem Access-Formular
- 13. Wie verwende ich 'Platzhaltertext' in einem Win32-Bearbeitungssteuerelement?
- 14. Einem Bildschirmleser mitteilen, Platzhaltertext in einem Eingabe-Tag zu ignorieren?
- 15. So formatieren Sie Platzhaltertext in Reactive Native (Tcomb Form Native)
- 16. Ich möchte Platzhaltertext im Kombinationsfeld in WinRT-Entwicklung ändern
- 17. HTML5-Platzhaltertext Breite in Safari hinzufügen Bildlaufleisten erstellen und flackern
- 18. Platzhaltertext in PDF mit Python suchen und ersetzen
- 19. Platzhaltertext für ein input type = „Zahl“ nicht in webkit ICS
- 20. Wie lautet die Standardfarbe für Platzhaltertext in UITextField?
- 21. Wie fügt man Platzhaltertext zum Suchfeld in Django Admin hinzu?
- 22. Platzhaltertext nicht zentriert für UITextField, das programmgesteuert erstellt wird
- 23. jQuery Mobile 1.1.1 Benutzerdefiniertes Auswahlmenü - Platzhaltertext nicht sichtbar
- 24. Festlegen der Farbe und des Schriftstils für den Platzhaltertext
- 25. Platzhaltertext für gewähltes Plugin für single wählen funktioniert nicht
- 26. Ändern der Farbe von Platzhaltertext im Fokus mit JavaScript
- 27. .NET Der effizienteste Weg, Platzhaltertext durch tatsächliche Werte zu ersetzen?
- 28. Anzeigen in einer reaktiven nativen App anzeigen
- 29. Nichts zum Anzeigen in Android Project Anzeigen
- 30. Wie füge ich Platzhaltertext aus dem Modell in eine MVC-Ansicht ein?
Haben Sie wirklich ein Label Control bedeuten? Oder willst du einfach den Textwert der beiden Zellen setzen ?? – TaW
Eigentlich versuche ich, das Label als Platzhalter in diesen Zellen zu platzieren. Wenn also das Datagridview leer ist, kann ich es auf diesen Zellen anzeigen. – biff
Bitte ändern Sie den Titel und die Beschreibungen der Fragen basierend auf Ihrem neuen Kommentar. Sie möchten den Platzhaltertext für die ersten beiden Spalten zeichnen. Es scheint auch, dass Sie keinen Klick auf die Schaltfläche brauchen, Sie wollen sie nur auf Zellen zeigen, wenn die Zelle leer ist. –