Ich habe ein kleines Problem mit einem Listview.Listview Hintergrundzeichnung Problem C# Winform
Ich kann es mit ListView-Elemente in Ordnung, aber wenn ich die Hintergrundfarbe festlegen, zeichnet es nicht die Farbe ganz nach links der Zeile [Die ListViewItems werden mit ListViewSubItems geladen, um eine Rasteransicht zu erstellen, nur die erste Spalte zeigt den Fehler]. Es gibt einen schmalen Streifen, der nicht malt. Die Breite dieses Streifens ist ungefähr die gleiche wie eine Zeilenkopfzeile, wenn ich einen Zeilenkopf hätte.
Wenn Sie darüber nachdenken, was getan werden kann, um den Hintergrund zu zeichnen, würde ich es gerne hören.
Jetzt, nur um eine neue Idee zu versuchen, biete ich eine Zehn-Stimmen-Prämie für die erste Lösung an, die mich immer noch dieses schreckliche Konstrukt eines Chaos einer Pseudogitteransicht verwendet. [Ich liebe Legacy-Code.]
Edit:
Hier ist ein Beispiel, das das Problem zeigt.
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
ListView lv = new ListView();
lv.Dock = System.Windows.Forms.DockStyle.Fill;
lv.FullRowSelect = true;
lv.GridLines = true;
lv.HideSelection = false;
lv.Location = new System.Drawing.Point(0, 0);
lv.TabIndex = 0;
lv.View = System.Windows.Forms.View.Details;
lv.AllowColumnReorder = true;
this.Controls.Add(lv);
lv.MultiSelect = true;
ColumnHeader ch = new ColumnHeader();
ch.Name = "Foo";
ch.Text = "Foo";
ch.Width = 40;
ch.TextAlign = HorizontalAlignment.Left;
lv.Columns.Add(ch);
ColumnHeader ch2 = new ColumnHeader();
ch.Name = "Bar";
ch.Text = "Bar";
ch.Width = 40;
ch.TextAlign = HorizontalAlignment.Left;
lv.Columns.Add(ch2);
lv.BeginUpdate();
for (int i = 0; i < 3; i++)
{
ListViewItem lvi = new ListViewItem("1", "2");
lvi.BackColor = Color.Black;
lvi.ForeColor = Color.White;
lv.Items.Add(lvi);
}
lv.EndUpdate();
}
}
Ich möchte die Berechtigung haben, aber natürlich kann ich Hacky akzeptieren. Ich werde es heute versuchen und sehen, ob es funktioniert, das sieht wirklich vielversprechend aus. –
Hacky ist es, danke! Stuck mit ListView und .net 2.0 mit neuen Weltanforderungen. – kyle