首页 > 代码库 > 第一次做winform界面问题总结

第一次做winform界面问题总结

1.winform窗体

a. 最大,最小按钮:this.maxizebox,this.minizebox

b.不允许用户修改窗口大小: this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedDialog;

c.修改标题: this.text

d.窗口居中: this.SetBounds((Screen.GetBounds(this).Width / 2) - (this.Width / 2), (Screen.GetBounds(this).Height / 2) - (this.Height / 2), this.Width, this.Height, BoundsSpecified.Location);

e.鼠标控制:this.Cursor = Cursors.WaitCursor/default

2.combobox

a.列表不允许用户输入,只能从列表选择:combobox.dropdowstype = dropdownlist

b.combobox选择项:combobox.selectedIndex & combobox.selectedItem

c.combobox添加项:combobox.Items.Insert(pos,value), combobox.Items.Add(value)

3.datagridview

a.list赋值给datagridview时,要list里的值属性和column的属性必须是一样的,可以list转成datatable,让后赋值给datasource 

private DataTable ConvertListToDataTable(List<myInfoData> list)
{
// New table.
DataTable table = new DataTable();
table.Columns.Add("FName");//属性要一样
table.Columns.Add("LName");
table.Columns.Add("UName");
table.Columns.Add("Location");
table.Columns.Add("PitName");
table.Columns.Add("GameType");

// Add rows.
foreach (var array in list)
{
table.Rows.Add(array.FirstName, array.LastName, array.UserName, array.Location, array.PitName, array.GameType);
}
return table;
}

b.如果添加datagridview的selectionchanged event,会影响datagridview的排序功能,可以用datagridview的cellclick 或者cellcontentclick事件代替,传入参数中包含cell的rowindex

c. 清空表格内容:datagridview.datasource.clear()

d.datagridview 总是多出一行:allowuseraddnewrow = false

4.vb和C#程序相互调用

记得要用属性值传参数,程序里根据传入属性值调用相应C#orVB code

5.lambda表达式和lingq

list继承了IEnumrable接口,可以直接将list赋值给IEnumrable,然后用lingq查询

where,firstordefault,distinct,等等

6.delegate

继续研究,不太明白!