好吧,在我的记事本喜欢的程序中,我想打印像代码一样的文本,所以我希望保留的单词用蓝色打印,文本在边距内任何想法怎么做? 这就是我到目前为止所做的。
int charPag = 0;
int linPag = 0;
Font rodFont = new Font("Courier New", (float)10.0);
e.Graphics.MeasureString(stringToPrint, txtMain.Font, e.MarginBounds.Size, StringFormat.GenericTypographic, out charPag, out linPag);
e.Graphics.DrawString(stringToPrint, txtMain.Font, new SolidBrush(Color.Black), e.MarginBounds, StringFormat.GenericTypographic);
stringToPrint = stringToPrint.Substring(charPag);
e.Graphics.DrawLine(Pens.Black, e.MarginBounds.Left, e.MarginBounds.Bottom, e.MarginBounds.Right, e.MarginBounds.Bottom);
e.Graphics.DrawString(numPag.ToString(), rodFont, Brushes.Black, e.MarginBounds.Right - (numPag.ToString().Length * rodFont.SizeInPoints), e.MarginBounds.Bottom + 5);
if (stringToPrint.Length > 0)
{
e.HasMorePages = true;
numPag++;
}
答案 0 :(得分:0)
创建一个包含保留字
的HashSetpublic HashSet<string> _reservedWords =
new HashSet { "if", "else", "class", "..." };
然后,您必须找到文本行中包含的标识符。标识符是以字母或下划线开头的字符序列,由字母,下划线和数字组成。
找到标识符后,请检查它是否为保留关键字
bool reserved = _reservedWords.Contains(word);