c#字符串太长如何换行

Jaly1991 2010-10-23 02:08:51
c#字符串太长如何换行
...全文
1450 15 打赏 收藏 转发到动态 举报
写回复
用AI写文章
15 条回复
切换为时间正序
请发表友善的回复…
发表回复
fangshy 2010-12-02
  • 打赏
  • 举报
回复
我遇到同样问题,代码比如构造一个很长查询SQL语句,怎么换行 C++中在换行处打一个‘\’就可以了C#怎么处理呢?
sunzhiguolu 2010-10-23
  • 打赏
  • 举报
回复
学习了...
Jaly1991 2010-10-23
  • 打赏
  • 举报
回复
逍遥哥谢了。
wuyq11 2010-10-23
  • 打赏
  • 举报
回复
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);
获取屏幕的宽度高度
兔子-顾问 2010-10-23
  • 打赏
  • 举报
回复
创建窗体,弄个按钮,用如下代码可以看到效果。仔细看,我不解释了。不明白的看msdn

private 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);
}
}
xxmiiiiiiiiii 2010-10-23
  • 打赏
  • 举报
回复
\r\n
Lucker 2010-10-23
  • 打赏
  • 举报
回复
楼主意思可能是在编译器中写得太正常,像构造函数一样一行写几百个字符,换行时请记者不要随意换行,选择有逗号处换行,像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#代码》这本书!
















Jaly1991 2010-10-23
  • 打赏
  • 举报
回复
是的 ,就是把文本输出来,不确定长度是否比屏幕的大。
兔子-顾问 2010-10-23
  • 打赏
  • 举报
回复
如果你能在说详细一点我想我才能确认给你写个例子是否是你要的。我猜测你的意思是绘制文本到屏幕上,如何指定宽度自动换行?
Jaly1991 2010-10-23
  • 打赏
  • 举报
回复
4楼的能在详细点吗?
wuyq11 2010-10-23
  • 打赏
  • 举报
回复
StringBuilder
显示使用"\n\r"
Enviroment.NewLine
System.Text.Encoding.Default.GetByteCount长度
像素
MeasureString 和MeasureCharacterRanges
兔子-顾问 2010-10-23
  • 打赏
  • 举报
回复
逐个数长度,当Graphics.MeasureString(你字符串,Font...).Width > 长度时候,这里插入一个\r\n
zhouwc520 2010-10-23
  • 打赏
  • 举报
回复
楼主所谓的太长是什么意思啊,总得解释下语境吧,多行文本框内的换行是添加"\r\n"转义符
zhouwc520 2010-10-23
  • 打赏
  • 举报
回复
楼主所谓的太长是什么意思啊,总得解释下语境吧,多行文本框内的换行是添加"\r\n"转义符
lhui8 2010-10-23
  • 打赏
  • 举报
回复
我过来了,可是我不知道啊,不好意思哦

111,129

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Creator Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧