c#字符串太长如何换行 c#字符串太长如何换行 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 逐个数长度,当Graphics.MeasureString(你字符串,Font...).Width > 长度时候,这里插入一个\r\n StringBuilder显示使用"\n\r"Enviroment.NewLineSystem.Text.Encoding.Default.GetByteCount长度像素MeasureString 和MeasureCharacterRanges 楼主意思可能是在编译器中写得太正常,像构造函数一样一行写几百个字符,换行时请记者不要随意换行,选择有逗号处换行,像public Abc(int month,int size,int age,string mingming,object a[] ,int connection)你说在哪里换行好的如果这样换行就不行,一定要是代码有意义换行!比如:public Abc(int month,int size,int age,string mingming,object a[] ,int connection)这样无论多少行,都行!推荐楼主看看《写最锐利的c#代码》这本书! 创建窗体,弄个按钮,用如下代码可以看到效果。仔细看,我不解释了。不明白的看msdnprivate void button9_Click(object sender, EventArgs e){ int max_width = 200;//假设宽度 string s = "abcdefghijklmnopqrstuvwxyz0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ!@#$%^&*()+-*/"; StringBuilder builder = new StringBuilder(); using (Graphics g = this.CreateGraphics()) { for (int i = 0, j = 0; i < s.Length; i++) { builder.Append(s[i]); if (g.MeasureString(s.Substring(j, i - j + 1), this.Font).Width >= max_width) { builder.AppendLine();//超出,换行 j = i + 1; } } g.DrawString(builder.ToString(), this.Font, Brushes.Blue, new PointF(0, 0)); g.DrawRectangle(Pens.Red, 0, 0, max_width, max_width); }} string s="";float w=0; float h=0; Graphics g=Graphics.FromHwnd(this.Handle); Font myf=new Font( "宋体 ",15); StringFormat sf=new StringFormat(StringFormat.GenericTypographic); SizeF size=g.MeasureString(s,myf,1000,sf); 获取屏幕的宽度高度 我遇到同样问题,代码比如构造一个很长查询SQL语句,怎么换行 C++中在换行处打一个‘\’就可以了C#怎么处理呢? c# winform程序 鼠标右键获取选中文件的完整路径及文件名 帮我看下这个问题 怎么样获取视频文件的最大码率,平均码率,播放时长等信息 ======如何捕捉意外的异常?====== 如何修改这个 URL 正则﹖ arraylist.Contains问题 求助高手,excel导入问题 void空类型方法的感悟 同一程序,两个Form,怎么样同时运行两个Form? c#调用带有安全认证的java webservice 求教:如何用XSD实现带有IF ELSE逻辑判断的XML验证?? 各位大侠 请教一下这个功能怎么实现?
显示使用"\n\r"
Enviroment.NewLine
System.Text.Encoding.Default.GetByteCount长度
像素
MeasureString 和MeasureCharacterRanges
int size,int age,
string mingming,
object a[] ,
int connection)这样无论多少行,都行!推荐楼主看看《写最锐利的c#代码》这本书!
{
int max_width = 200;//假设宽度
string s = "abcdefghijklmnopqrstuvwxyz0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ!@#$%^&*()+-*/";
StringBuilder builder = new StringBuilder();
using (Graphics g = this.CreateGraphics())
{
for (int i = 0, j = 0; i < s.Length; i++)
{
builder.Append(s[i]);
if (g.MeasureString(s.Substring(j, i - j + 1), this.Font).Width >= max_width)
{
builder.AppendLine();//超出,换行
j = i + 1;
}
}
g.DrawString(builder.ToString(), this.Font, Brushes.Blue, new PointF(0, 0));
g.DrawRectangle(Pens.Red, 0, 0, max_width, max_width);
}
}
float w=0;
float h=0;
Graphics g=Graphics.FromHwnd(this.Handle);
Font myf=new Font( "宋体 ",15);
StringFormat sf=new StringFormat(StringFormat.GenericTypographic);
SizeF size=g.MeasureString(s,myf,1000,sf);
获取屏幕的宽度高度