2011-11-17 84 views

回答

1

我希望這個鏈接將幫助您....如何顯示工具提示時的datagridview的列大小...

http://www.codeproject.com/KB/grid/testgridzip.aspx?display=PrintAll

,或者你可以試試這個..

void dataGridView1_ColumnWidthChanged(object sender, DataGridViewColumnEventArgs e) 
    { 
     toolTip1.SetToolTip(dataGridView1.Columns[i].Width.ToString()); 
    } 
+0

謝謝,用它來構建我的解決方案。比我想要的更復雜,但僅僅是作品。 – JDunkerley

0

我現在的解決方案基於@errorstacks提示。

 this.dgvDeskTrades.MouseDown += dgvDeskTrades_MouseDown; 
     this.dgvDeskTrades.MouseMove += dgvDeskTrades_MouseMove; 
     this.dgvDeskTrades.MouseUp += dgvDeskTrades_MouseUp; 

    private int colResizing = -1; 
    private int origWidth; 
    private int mouseX; 

    private void dgvDeskTrades_MouseDown(object sender, MouseEventArgs e) 
    { 
     var hit = this.dgvDeskTrades.HitTest(e.X, e.Y); 
     if (hit.Type != DataGridViewHitTestType.ColumnHeader) return; 
     if (Cursor.Current != Cursors.SizeWE) return; 

     this.colResizing = hit.ColumnIndex; 
     this.origWidth = this.dgvDeskTrades.Columns[this.colResizing].Width; 
     this.mouseX = e.X; 
    } 

    private void dgvDeskTrades_MouseMove(object sender, MouseEventArgs e) 
    { 
     if (this.colResizing == -1) return; 
     this.dgvDeskTrades.Columns[this.colResizing].Width = Math.Max(0, this.origWidth + (e.X - this.mouseX)); 
     this.toolTip.Show("Width: " + this.dgvDeskTrades.Columns[this.colResizing].Width, this, e.X, e.Y); 
    } 

    private void dgvDeskTrades_MouseUp(object sender, MouseEventArgs e) 
    { 
     if (this.colResizing == -1) return; 
     this.toolTip.Hide(this); 
     this.colResizing = -1; 
    } 
相關問題