读书人

我在做一个简单的记事本程序有很多有

发布时间: 2011-12-15 23:41:24 作者: rapoo

我在做一个简单的记事本程序,有很多问题出现啊,向各位高手求救
1.删除功能:
我现在只能实现把选定的字符删除,怎样才能像真正的记事本那样按一下delete键就会把光标所处位置的后一个字符删除。

2.右键菜单:
我用了contextmenu控件,可是不会用,发现单击右键什么也没有出来。

3.我想像真正的记事本那样在新建一个文件时它的撤销,剪切,复制删除功能的Enable属性是false,只有当我有过编辑的操作撤销功能的Enable才为true,只有当有字体是被选定时,剪切,复制,删除功能的Enable才为true,该用什么方法来实现这个监控啊?

4.我每次保存后都不能保存字符的大小和所选字体,该怎样做啊?我用的是richtextbox控件。

[解决办法]
如果你是在Web中就不用看下面的了
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.
[解决办法]
可以继承richtextbox控件

在里面加入消息相应处理函数,这个最好懂windows消息机制

我每次保存后都不能保存字符的大小和所选字体,该怎样做啊?
=========
注意,字体的大小不是txt文件的属性,而是记事本控制的
[解决办法]
1.太复杂,我只能把光标移到最后,就是给文本追加一个 " ";
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)

读书人网 >C#

热点推荐