1.删除功能:
我现在只能实现把选定的字符删除,怎样才能像真正的记事本那样按一下delete键就会把光标所处位置的后一个字符删除。2.右键菜单:
我用了contextmenu控件,可是不会用,发现单击右键什么也没有出来。3.我想像真正的记事本那样在新建一个文件时它的撤销,剪切,复制删除功能的Enable属性是false,只有当我有过编辑的操作撤销功能的Enable才为true,只有当有字体是被选定时,剪切,复制,删除功能的Enable才为true,该用什么方法来实现这个监控啊?4.我每次保存后都不能保存字符的大小和所选字体,该怎样做啊?我用的是richtextbox控件。
我现在只能实现把选定的字符删除,怎样才能像真正的记事本那样按一下delete键就会把光标所处位置的后一个字符删除。2.右键菜单:
我用了contextmenu控件,可是不会用,发现单击右键什么也没有出来。3.我想像真正的记事本那样在新建一个文件时它的撤销,剪切,复制删除功能的Enable属性是false,只有当我有过编辑的操作撤销功能的Enable才为true,只有当有字体是被选定时,剪切,复制,删除功能的Enable才为true,该用什么方法来实现这个监控啊?4.我每次保存后都不能保存字符的大小和所选字体,该怎样做啊?我用的是richtextbox控件。
1.不知你是怎么實現的﹐delete是RichTextBox的默認的動作﹐根本不需要編程啊
2.contextmenu.Show(richtextbox1,坐標)﹐(在鼠標點擊事件中的參數e中有坐標)
3.在一個Array中記錄一定次數的動作,保存或取消全部更改時設為0﹐只有Array的Length>0時﹐才允許销功能的Enable才为true。通過判斷richtextbox的SelectedText是否為空﹐來決定剪切,复制,删除功能的Enable。
4.要保存字符的大小和所选字体﹐必須將內容保存為Rtf,例﹕richTextBox1.SaveFile(stream,System.Windows.Forms.RichTextBoxStreamType.RichText),讀取時也一樣﹐是設定它的Rtf.
=========
注意,字体的大小不是txt文件的属性,而是记事本控制的
1.不知你是怎么實現的﹐delete是RichTextBox的默認的動作﹐根本不需要編程啊 怎么我的richtextbox只有一个deleteAll方法.而且它的用法跟我所需的有很大出入喔.3.在一個Array中記錄一定次數的動作,保存或取消全部更改時設為0﹐只有Array的Length>0時﹐才允許销功能的Enable才为true。通過判斷richtextbox的SelectedText是否為空﹐來決定剪切,复制,删除功能的Enable。其实我就是想问怎样弄一个每个一段时间就检查Array变化的方法.
4.要保存字符的大小和所选字体﹐必須將內容保存為Rtf,例﹕richTextBox1.SaveFile(stream,System.Windows.Forms.RichTextBoxStreamType.RichText),讀取時也一樣﹐是設定它的Rtf.可不可以具体一点啊?
我本来是这样写的:
SaveFileDialog save = new SaveFileDialog(); //設置屬性
save.Title = "保存文件";
save.CreatePrompt = true;
save.Filter = "txt files(*.txt)|*.txt";
if(save.ShowDialog()==DialogResult.OK)
{
//richtxtEdit.Text=saveFileDialog1.FileName;
StreamWriter dd =new StreamWriter(save.FileName);
dd.Write(richtxtEdit.Text);
dd.Flush();
dd.Close();
}该怎样去改呢?
2.说明你的没有关联上,把richtextbox的属性ContextMenu与右键菜单关联一下,不可能不出来
3.这几个变量标识的应该很明显了(没写全)
private bool blCut = false;//判断剪切板里是否有内容
//剪切
private void menuX_Click(object sender, System.EventArgs e)
{
this.txtNote.Cut();
blCut = true;
this.menuX.Enabled = false;
this.menuV.Enabled = true;
} //撤销
private void menuZ_Click(object sender, System.EventArgs e)
{
this.txtNote.Undo();
} //复制
private void menuC_Click(object sender, System.EventArgs e)
{
this.txtNote.Copy();
}
4.不知道你的保存是怎么写的,我的是
//保存
string sFileName;
bool flag = false;
private void menuSave_Click(object sender, System.EventArgs e)
{
if(sFileName == string.Empty)
{
this.saveFileDialog1.Filter = "文本文件(*.txt)|*.txt|所有文件(*.*)|*.*";
if(this.saveFileDialog1.ShowDialog() == DialogResult.OK)
{
sFileName = this.saveFileDialog1.FileName;
this.fo.CreateFile(sFileName,this.txtNote.Text);
flag = true;
}
}
else
{
this.fo.CreateFile(sFileName,this.txtNote.Text);
flag = true;
}
}
其中flag是判断你有没有保存过,用来控制再次点击保存时不在弹出对话框
dd.Write(richtxtEdit.Rtf)