Pregunta

Intento no permitir el tamaño de tamaño de la columna en ListView pero no puedo No sé la razón por la cual CollumwidThChanging Evento de ListView no es incendio Intento depurar y ver nunca en el método ListView1_ColumnWidThanging

en form1.designer.cs:

    partial class Form1
{
    /// <summary>
    /// Required designer variable.
    /// </summary>
    private System.ComponentModel.IContainer components = null;

    /// <summary>
    /// Clean up any resources being used.
    /// </summary>
    /// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
    protected override void Dispose(bool disposing)
    {
        if (disposing && (components != null))
        {
            components.Dispose();
        }
        base.Dispose(disposing);
    }

    #region Windows Form Designer generated code

    /// <summary>
    /// Required method for Designer support - do not modify
    /// the contents of this method with the code editor.
    /// </summary>
    private void InitializeComponent()
    {
        this.listView1 = new System.Windows.Forms.ListView();
        this.columnHeader1 = ((System.Windows.Forms.ColumnHeader)(new System.Windows.Forms.ColumnHeader()));
        this.columnHeader2 = ((System.Windows.Forms.ColumnHeader)(new System.Windows.Forms.ColumnHeader()));
        this.SuspendLayout();
        // 
        // listView1
        // 
        this.listView1.Columns.AddRange(new System.Windows.Forms.ColumnHeader[] {
        this.columnHeader1,
        this.columnHeader2});
        this.listView1.Location = new System.Drawing.Point(13, 103);
        this.listView1.Name = "listView1";
        this.listView1.Size = new System.Drawing.Size(259, 97);
        this.listView1.TabIndex = 0;
        this.listView1.UseCompatibleStateImageBehavior = false;
        this.listView1.View = System.Windows.Forms.View.Details;
        this.listView1.ColumnWidthChanging += new System.Windows.Forms.ColumnWidthChangingEventHandler(this.listView1_ColumnWidthChanging);
        // 
        // columnHeader1
        // 
        this.columnHeader1.Text = "ID";
        this.columnHeader1.Width = 0;
        // 
        // columnHeader2
        // 
        this.columnHeader2.Width = 200;
        // 
        // Form1
        // 
        this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
        this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
        this.ClientSize = new System.Drawing.Size(284, 262);
        this.Controls.Add(this.listView1);
        this.Name = "Form1";
        this.Text = "Form1";
        this.ResumeLayout(false);

    }

    #endregion

    private System.Windows.Forms.ListView listView1;
    private System.Windows.Forms.ColumnHeader columnHeader1;
    private System.Windows.Forms.ColumnHeader columnHeader2;
}

en form1.cs:

    public partial class Form1 : Form
{
    public Form1()
    {
        InitializeComponent();


    }

    private void listView1_ColumnWidthChanging(object sender, ColumnWidthChangingEventArgs e)
    {
        if (e.ColumnIndex == 0)
        {
            e.Cancel = true;
            e.NewWidth = 0x0;
        }
    }

por favor, ayúdame !!!!!!T_T

¿Fue útil?

Solución

Parece que está utilizando una primera columna 'oculta' a un valor de respaldo piggy.Esto es exactamente para qué propiedad "etiqueta" se usa para.

var listViewItem = listView1.Items.Add(rowData);
listViewItem.Tag = id;

Puede recuperar esto más tarde:

var selectedListViewItem = listView1.Items.SelectedItems[0];
var selectedID = (int)selectedListViewItem.Tag;

Hay configuraciones en Windows que pueden afectar la cocción del evento de CollopWidthChanging, y las formas de trabajar alrededor.Pero lo recomendaría no ir allí si no tienes que hacerlo.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top