使用C#在记事本应用程序中提供帮助 [英] Help In Notepad Application using C#

查看:123
本文介绍了使用C#在记事本应用程序中提供帮助的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我已经使用C#创建了记事本应用程序.
在这种情况下,无法使用Microsoft记事本中已提供的转到"功能转到特定的行号.

如果有人知道如何将光标聚焦在指定的行上,请让我知道..如果您想查看代码,请给我您的邮件ID,我会邮寄给您.

等待回复.

I have created Notepad application using C#.
In that cannot go to the specific line number using Go To facility which is already available in Microsoft''s Notepad.

If somebody know that how to focus the cursor on specified line then please let me know.. and if you want to see the code then give me your mail ID, I''ll mail to you..

waiting for reply.

Thanks

推荐答案

不,您没有创建记事本应用程序.这样的应用程序已经存在(顺便说一句,它是非常糟糕的). :-)

另外,控件内部没有焦点"之类的东西.这将意味着键盘焦点",并且整个系统中只有一个控件可以得到焦点.在控件内部,这是选择.对于文本控件,这是同时选择和插入的点.

答案取决于您未能指定的UI库,对于谁愿意提供冗余信息的人来说,这不好吗?

对于System.Windows.Controls.TextBox,可以使用属性CaretIndex,请参见:
http://msdn.microsoft.com/en-us/library/system. windows.controls.textbox.aspx [ ^ ],
http://msdn.microsoft.com/en-us/library/system.windows.controls.textbox.caretindex.aspx [ ^ ].

对于System.Windows.Forms.TextBox,这是两个属性:SelectionStartSelectionLength:
http://msdn.microsoft.com/en-us/library/system. windows.forms.textbox.aspx [ ^ ],
http://msdn.microsoft.com/en-us/library/system.windows.forms.textboxbase.selectionstart.aspx [ ^ ],
http://msdn.microsoft.com/en-us/library/system.windows.forms.textboxbase.selectionlength.aspx [ ^ ].

要查找什么字符在哪一行,反之亦然,请使用方法GetFirstCharIndexFromLineGetFirstCharIndexOfCurrentLineGetLineFromCharIndex.

—SA
No, you did not create Notepad application. Such application already existed (and it''s extremely bad one, by the way). :-)

Also, there is no such thing as "focus" inside a control. This would mean "keyboard focus", and only one control in the whole system can get focus. Inside a control, this is selection. For text controls, this is selection and insertion point at the same time.

The answer depends on your UI library which you failed to specify, which is not nice of you, for who would like to provide redundant information?

For System.Windows.Controls.TextBox, you can use the property CaretIndex, please see:
http://msdn.microsoft.com/en-us/library/system.windows.controls.textbox.aspx[^],
http://msdn.microsoft.com/en-us/library/system.windows.controls.textbox.caretindex.aspx[^].

For System.Windows.Forms.TextBox, this is two properties: SelectionStart and SelectionLength:
http://msdn.microsoft.com/en-us/library/system.windows.forms.textbox.aspx[^],
http://msdn.microsoft.com/en-us/library/system.windows.forms.textboxbase.selectionstart.aspx[^],
http://msdn.microsoft.com/en-us/library/system.windows.forms.textboxbase.selectionlength.aspx[^].

To find what character is on what line and visa versa, use the methods GetFirstCharIndexFromLine, GetFirstCharIndexOfCurrentLine and GetLineFromCharIndex.

—SA


在记事本文件中加载应用程序
Load for application in Notepad file


命名空间MyNotepad
{
公共局部类Form1:Form
{
公共Form1()
{
InitializeComponent();
}

私人void newToolStripMenuItem_Click(object sender,EventArgs e)
{
richTextBox1.Clear();
}

私人void openToolStripMenuItem_Click(object sender,EventArgs e)
{
OpenFileDialog op = new OpenFileDialog();
如果(op.ShowDialog()== DialogResult.OK)
{
richTextBox1.LoadFile(op.FileName,RichTextBoxStreamType .PlainText);
this.Text = op.FileName;
}
}

私人void saveToolStripMenuItem_Click(object sender,EventArgs e)
{
SaveFileDialog op = new SaveFileDialog();
如果(op.ShowDialog()== DialogResult.OK)
{
richTextBox1.SaveFile(op.FileName,RichTextBoxStreamType.PlainText);
this.Text = op.FileName;
}
}

私有void saveAsToolStripMenuItem_Click(对象发送者,EventArgs e)
{
SaveFileDialog op = new SaveFileDialog();
如果(op.ShowDialog()== DialogResult.OK)
{
richTextBox1.SaveFile(op.FileName,RichTextBoxStreamType.PlainText);
this.Text = op.FileName;
}
}

私有void exitToolStripMenuItem_Click(对象发送者,EventArgs e)
{
//richTextBox1
Application.Exit();
}

私有无效undoToolStripMenuItem_Click(对象发送者,EventArgs e)
{
richTextBox1.Undo();
}

私有void cutToolStripMenuItem_Click(对象发送者,EventArgs e)
{
richTextBox1.Cut();
}

私人void copyToolStripMenuItem_Click(object sender,EventArgs e)
{
richTextBox1.Copy();
}

私人void pasteToolStripMenuItem_Click(object sender,EventArgs e)
{
richTextBox1.Paste();
}

私有void selectAllToolStripMenuItem_Click(对象发送者,EventArgs e)
{
richTextBox1.SelectAll();
}

private void dateTimeToolStripMenuItem_Click(object sender,EventArgs e)
{
richTextBox1.Text = System.DateTime.Now .ToString();
}

私有void colorToolStripMenuItem_Click(对象发送者,EventArgs e)
{
ColorDialog op =新的ColorDialog();
如果(op.ShowDialog()== DialogResult.OK)
{
richTextBox1.ForeColor = op.Color;
}
}

私有void fontToolStripMenuItem_Click(对象发送者,EventArgs e)
{
FontDialog op = new FontDialog();
如果(op.ShowDialog()== DialogResult.OK)
{
richTextBox1.Font = op.Font;
}
}

私有void findToolStripMenuItem_Click(对象发送者,EventArgs e)
{

}

私有void replaceToolStripMenuItem_Click(对象发送者,EventArgs e)
{

}


}
}
namespace MyNotepad
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}

private void newToolStripMenuItem_Click(object sender, EventArgs e)
{
richTextBox1.Clear();
}

private void openToolStripMenuItem_Click(object sender, EventArgs e)
{
OpenFileDialog op = new OpenFileDialog();
if (op.ShowDialog() == DialogResult.OK)
{
richTextBox1.LoadFile(op.FileName, RichTextBoxStreamType .PlainText );
this.Text = op.FileName;
}
}

private void saveToolStripMenuItem_Click(object sender, EventArgs e)
{
SaveFileDialog op = new SaveFileDialog ();
if (op.ShowDialog() == DialogResult.OK)
{
richTextBox1.SaveFile (op.FileName, RichTextBoxStreamType.PlainText);
this.Text = op.FileName;
}
}

private void saveAsToolStripMenuItem_Click(object sender, EventArgs e)
{
SaveFileDialog op = new SaveFileDialog();
if (op.ShowDialog() == DialogResult.OK)
{
richTextBox1.SaveFile(op.FileName, RichTextBoxStreamType.PlainText);
this.Text = op.FileName;
}
}

private void exitToolStripMenuItem_Click(object sender, EventArgs e)
{
//richTextBox1
Application.Exit();
}

private void undoToolStripMenuItem_Click(object sender, EventArgs e)
{
richTextBox1.Undo();
}

private void cutToolStripMenuItem_Click(object sender, EventArgs e)
{
richTextBox1.Cut();
}

private void copyToolStripMenuItem_Click(object sender, EventArgs e)
{
richTextBox1.Copy();
}

private void pasteToolStripMenuItem_Click(object sender, EventArgs e)
{
richTextBox1.Paste();
}

private void selectAllToolStripMenuItem_Click(object sender, EventArgs e)
{
richTextBox1.SelectAll();
}

private void dateTimeToolStripMenuItem_Click(object sender, EventArgs e)
{
richTextBox1.Text = System.DateTime.Now .ToString ();
}

private void colorToolStripMenuItem_Click(object sender, EventArgs e)
{
ColorDialog op = new ColorDialog ();
if (op.ShowDialog() == DialogResult.OK)
{
richTextBox1.ForeColor = op.Color;
}
}

private void fontToolStripMenuItem_Click(object sender, EventArgs e)
{
FontDialog op = new FontDialog();
if (op.ShowDialog() == DialogResult.OK)
{
richTextBox1.Font = op.Font ;
}
}

private void findToolStripMenuItem_Click(object sender, EventArgs e)
{

}

private void replaceToolStripMenuItem_Click(object sender, EventArgs e)
{

}


}
}


这篇关于使用C#在记事本应用程序中提供帮助的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆