Rya*_*tes 3 c# infragistics ultrawingrid winforms
如何在UltraGrid中准确地获得扩展的UltraGridColumn宽度?
我有以下Windows窗体:
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
IEnumerable<string> test = new List<string>{DateTime.Now.ToString()};
this.ultraGrid2.DataSource = test;
this.ultraGrid2.DisplayLayout.AutoFitStyle = AutoFitStyle.ExtendLastColumn;
}
private void button1_Click(object sender, EventArgs e)
{
MessageBox.Show("The column width is " + this.ultraGrid2.DisplayLayout.Bands[0].Columns[0].Width);
}
}
Run Code Online (Sandbox Code Playgroud)

无论我如何操纵或调整表单.在width仍然给出了同样的默认值.只有我调整列的大小才会改变.在这种情况下,我认为宽度将接近表单本身的x大小.
如果您将AutoFitStyle要ExtendLastColumn在Width最后一列属性不反映列的实际宽度.如果设置为AutoFitStyle,则None可以设置并读取列宽度.
但是,至少只是为了阅读,有一种解决方法:
在上面的示例中,只有一列,您可以获取列的CellSizeResolved属性
UltraGridColumn column = grid.DisplayLayout.Bands[0].Columns[0];
Debug.WriteLine("Column width is " + column.CellSizeResolved.Width);
Run Code Online (Sandbox Code Playgroud)