C#(WinForm)常用小知识点
2010-06-30 00:35
387 查看
一)C#遍历容器中的控件
代码1:
private List<Control> find(Control c, Type t) //c 为容器控件, t 为所选类型
{
List<Control> controls = new List<Control>();
foreach (Control cc in c.Controls)
{
if (cc.GetType() == t)
controls.Add(cc);
}
return controls;
}
代码2:
public List<TextBox> getTextBoxList()
{
try
{
List<TextBox> lstText = new List<TextBox>();
IEnumerator ier = this.panel1.Controls.GetEnumerator();
while (ier.MoveNext())
{
if (ier.Current is TextBox)
{
TextBox a = ier.Current as TextBox;
lstText.Add(a);
}
}
return lstText;
}
catch (Exception ex)
{
System.Diagnostics.Debug.WriteLine(ex.Message);
}
return null;
}
二)c#中如何得到一个文本串的宽度(以像素px为单位)
.NET 的 System.Drawing 空间中,Graphics 对象提供了能达到此目的的方法:MeasureString()
public void PrintOutBox(string printStr,int printWidth,string printAlingment,System.Windows.Forms.PaintEventArgs g)
{
int x1 = CurrentX;
int y1= CurrentY;
int t_space=2;
SizeF sf=g.MeasureString(printStr,printFont());// printFont()为返回类型为Font的方法
Rectangle rec1 = new Rectangle(CurrentX, CurrentY, printWidth, (int)(sf.Height + t_space));
g.DrawRectangle(Pens.Black,rec1);
if (printAlingment == "r" | printAlingment == "R")
{
CurrentX = x1 + printWidth - (int)sf.Width;
CurrentY = y1 + (t_space / 2);
}
g.DrawString(printStr, printFont(), Brushes.Black, CurrentX, CurrentY);
}
代码1:
private List<Control> find(Control c, Type t) //c 为容器控件, t 为所选类型
{
List<Control> controls = new List<Control>();
foreach (Control cc in c.Controls)
{
if (cc.GetType() == t)
controls.Add(cc);
}
return controls;
}
代码2:
public List<TextBox> getTextBoxList()
{
try
{
List<TextBox> lstText = new List<TextBox>();
IEnumerator ier = this.panel1.Controls.GetEnumerator();
while (ier.MoveNext())
{
if (ier.Current is TextBox)
{
TextBox a = ier.Current as TextBox;
lstText.Add(a);
}
}
return lstText;
}
catch (Exception ex)
{
System.Diagnostics.Debug.WriteLine(ex.Message);
}
return null;
}
二)c#中如何得到一个文本串的宽度(以像素px为单位)
.NET 的 System.Drawing 空间中,Graphics 对象提供了能达到此目的的方法:MeasureString()public void PrintOutBox(string printStr,int printWidth,string printAlingment,System.Windows.Forms.PaintEventArgs g)
{
int x1 = CurrentX;
int y1= CurrentY;
int t_space=2;
SizeF sf=g.MeasureString(printStr,printFont());// printFont()为返回类型为Font的方法
Rectangle rec1 = new Rectangle(CurrentX, CurrentY, printWidth, (int)(sf.Height + t_space));
g.DrawRectangle(Pens.Black,rec1);
if (printAlingment == "r" | printAlingment == "R")
{
CurrentX = x1 + printWidth - (int)sf.Width;
CurrentY = y1 + (t_space / 2);
}
g.DrawString(printStr, printFont(), Brushes.Black, CurrentX, CurrentY);
}
相关文章推荐
- C# WinForm中实现MessageBox.Show()的常用方法
- [Winform]TextBox中只能输入数字的几种常用方法(C#)
- [Winform]C#常用控件缩写
- c#经典常用小函数 winform
- c#经典常用小函数 winform
- C# Winform 跨线程更新UI控件常用方法汇总
- Winform TextBox中只能输入数字的几种常用方法(C#)
- [Winform]TextBox中只能输入数字的几种常用方法(C#)
- [Winform]C#常用控件缩写
- C#winform中DataGridView常用的属性
- C# Winform 跨线程更新UI控件常用方法汇总
- C#-WinForm-TextBox中只能输入数字的几种常用方法(C#)
- C#Winform水晶报表常用实例
- C#中winform窗体常用设置
- 【C#基础】之WinForm窗体常用控件的属性、方法及事件简介
- C# Winform 跨线程更新UI控件常用方法汇总
- 【C#基础】之WinForm窗体常用控件的属性、方法及事件简介
- 【C#】 一些不常用,很容易混淆的知识点
- c# winform项目开发中常用到得一些小技巧
- C# winform TextBox常用小技巧