Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/36.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 在高DPI设置下调整RichTextBox字体大小_C#_Richtextbox_Scaling_Dpi - Fatal编程技术网

C# 在高DPI设置下调整RichTextBox字体大小

C# 在高DPI设置下调整RichTextBox字体大小,c#,richtextbox,scaling,dpi,C#,Richtextbox,Scaling,Dpi,我的C#应用程序包括带有简单文本框和richtext框的网格。richtext框通常包含从其他地方复制和粘贴的富文本,rtf标记通常包含硬编码字体大小(\fsXX,XX以半点表示)。在大多数情况下,富文本字体大小与简单文本字体大小相同或接近 当DPI缩放设置为除默认值96以外的任何值时,富文本将失真如下: a) 当应用程序未设置为DPI感知时,richtext显示的文本比简单文本小且模糊 b) 当应用程序设置为DPI感知时,富文本比简单文本大 除了直接编辑标记外,是否有方法允许或强制richte

我的C#应用程序包括带有简单文本框和richtext框的网格。richtext框通常包含从其他地方复制和粘贴的富文本,rtf标记通常包含硬编码字体大小(\fsXX,XX以半点表示)。在大多数情况下,富文本字体大小与简单文本字体大小相同或接近

当DPI缩放设置为除默认值96以外的任何值时,富文本将失真如下:

a) 当应用程序未设置为DPI感知时,richtext显示的文本比简单文本小且模糊

b) 当应用程序设置为DPI感知时,富文本比简单文本大


除了直接编辑标记外,是否有方法允许或强制richtext使用简单文本进行缩放?

请尝试以下操作,它仅在.NET Framework 4.5.2及以后版本中受支持。微软已经为HighdpiaAutoResize提供了更多的控件

<appSettings>
   <add key="EnableWindowsFormsHighDpiAutoResizing" value="true" />
</appSettings>


尝试将其属性WordWrap设置为true解决问题的一个办法是在表单上设置RichTextBox,并将表单的
AutoScaleMode
属性设置为
None
(文档)

也许您可以使用WPF表单,因此,您不必担心不同屏幕的去DPI问题


<script type="text/javascript">
tinyMCE.init({
        mode: "textareas",
        theme: "advanced",
        plugins: "safari,spellchecker,pagebreak,style,layer,table,save,advhr,advimage,advlink,emotions,iespell,inlinepopups,insertdatetime,preview,media,searchreplace,print,contextmenu,paste,directionality,fullscreen,noneditable,visualchars,nonbreaking,xhtmlxtras,template,imagemanager,filemanager",
        theme_advanced_buttons1: "bold,italic,underline,strikethrough,|,justifyleft,justifycenter,justifyright,justifyfull,|,styleselect,formatselect,fontselect,fontsizeselect",
        theme_advanced_buttons2: "cut,copy,paste,pastetext,pasteword,|,search,replace,|,bullist,numlist,|,outdent,indent,blockquote,|,undo,redo,|,link,unlink,anchor,image,cleanup,code,|,insertdate,inserttime,preview,|,forecolor,backcolor",
        theme_advanced_buttons3: "tablecontrols,|,hr,removeformat,visualaid,|,sub,sup,|,charmap,emotions,iespell,media,advhr,|,print,|,ltr,rtl,|,fullscreen",
        theme_advanced_buttons4: "insertlayer,moveforward,movebackward,absolute,|,styleprops,spellchecker,|,cite,abbr,acronym,del,ins,attribs,|,visualchars,nonbreaking,template,blockquote,pagebreak,|,insertfile,insertimage",
        theme_advanced_toolbar_location: "top",
        theme_advanced_toolbar_align: "left",
        theme_advanced_statusbar_location: "bottom",
        theme_advanced_resizing: false,
        template_external_list_url: "js/template_list.js",
        external_link_list_url: "js/link_list.js",
        external_image_list_url: "js/image_list.js",
        media_external_list_url: "js/media_list.js"
    });
</script>


<td class="textboxmain" style="height:300px; "><asp:TextBox id="textbox1" TextMode="MultiLine" Height="100%" runat="server" placeholder="test............"></asp:TextBox></td>
tinyMCE.init({ 模式:“文本区域”, 主题:“高级”, 插件:“safari、拼写检查器、分页符、样式、图层、表格、保存、advhr、advimage、advlink、情感、iSpell、inlinepopups、insertdatetime、预览、媒体、搜索替换、打印、上下文菜单、粘贴、方向性、全屏、不可编辑、可视光标、不可中断、xhtmlxtras、模板、图像管理器、文件管理器”, 主题_高级_按钮1:“粗体、斜体、下划线、删除线、|、左对齐、居中对齐、右对齐、满对齐、|、样式选择、格式选择、字体选择、字体选择、字体大小选择”, 主题_高级_按钮2:“剪切、复制、粘贴、粘贴文本、粘贴文字、搜索、替换、布利斯特、纽姆利斯特、凹入、缩进、块引号、撤消、重做、链接、取消链接、锚定、图像、清理、代码、插入日期、插入时间、预览、前景色、后景色”, 主题|高级|按钮3:“表格控件,|,hr,removeformat,visualaid,|,sub,sup,|,charmap,情感,易趣,媒体,advhr,|,打印,|,ltr,rtl,|,全屏”, theme_advanced_按钮4:“插入层、向前移动、向后移动、绝对、|、styleprops、拼写检查器、|、引用、缩写、首字母缩略词、del、ins、attribs、|、visualchars、非中断、模板、块引号、页面中断、|、插入文件、插入图像”, 主题\高级\工具栏\位置:“顶部”, 主题\高级\工具栏\对齐:“左”, 主题\高级\状态栏\位置:“底部”, 主题\u高级\u大小调整:错误, 模板\u外部\u列表\u url:“js/template\u list.js”, 外部链接列表url:“js/link\u list.js”, 外部图片列表url:“js/image\u list.js”, 媒体外部列表url:“js/media\u list.js” });
您是否尝试过richtextbox v5?是否可以添加一些屏幕截图?这可能会使帮助您变得更容易…简单文本框的字体是如何定义的?它们是点大小还是像素?还有一件事,windows上的高dpi世界比您目前看到的稍微复杂一些。除了让应用程序以96 dpi的速度运行外,您还需要在96到149 dpi之间然后>150 dpi时进行测试。当设置为false时,导致拉伸的dpi感知标志在dpi至少为150之前不会开始工作。该功能是在4.5.1中引入的,仍然不支持将Richtextbox扩展到4.6.1版。更多信息请下载tinymce 3派对工具