好的,所以我读到有关将嵌入式rtf加载到富文本框中的问题,我正在尝试在表单加载时执行此操作。表单不是主窗体,它是在单击控件时加载的第二种窗体。这是我加载时在表单上的内容:
private void Credits_Load(object sender, EventArgs e)
{
Assembly creditAssm = Assembly.GetExecutingAssembly();
using (Stream creditStream =
creditAssm.GetManifestResourceStream("YDisplayView.credits.rtf"))
{
creditsRichTextBox.LoadFile(creditStream, RichTextBoxStreamType.RichText);
}
}
在解决方案资源管理器中,rtf文件显示为资源,构建操作设置为嵌入资源。
当我单击按钮加载表单时,它会按预期显示,但没有任何反应。 rtf的内容似乎没有显示:/
我只能假设我做错了:(
对这位新手的任何帮助都将不胜感激。
答案 0 :(得分:8)
我明白了:
creditAssm.GetManifestResourceStream("YDisplayView.credits.rtf"))
需要:
creditAssm.GetManifestResourceStream("YDisplayView.Resources.credits.rtf"))
编辑 由于某些原因,这次我无法使上述代码生效,但我找到了另一个希望无论是/或将是对那里的新编码员有所帮助:)
string rtf = yourAppName.Properties.Resources.yourEmbeddedRTFName;
yourRichTextBox.Rtf = rtf;
答案 1 :(得分:3)
我想创建一个名为Help.rtf的rtf帮助文件,并将其存储为资源,因此可以在加载帮助表单时加载它,而不会在应用程序文件夹周围放置Help.rtf。
我发现我需要通过菜单的项目 - >将rtf文件添加到资源中。 '你的名字空间'属性...... 然后导航到资源选项卡,然后添加项目等等......当我输入'My.Resource'时,intellisense会在它的下拉列表中提供rtf文件。现在,包括我添加的帮助文件在内的资源列表显示(没有扩展名,这是正常的)。
简而言之,一旦完成,那么以下工作:
RichTextBox1.rtf = My.Resources.Help
显然仅使用“解决方案资源管理器”拖放,复制甚至添加文件是不够的!
对这个问题花了3天时间,所以我希望有人觉得它很有用。