none
关于IFontDisp中字体大小的问题 RRS feed

  • 问题

  • 以下程序代码中,textBox2.Text中为10,为什么最后得到的是9.75?

    IFontDisp f = (IFontDisp)new stdole.StdFontClass();
    f.Size = (decimal)Convert.ToDouble(textBox2.Text.Trim());
    textBox1.Text = f.Size.ToString();

    请问是为什么?

    2017年3月6日 8:48

全部回复

  • Hi 潘振飞,

    你能告诉你创建的是什么类型的工程,winform 还是UWP 还是 wpf。

    我创建一个winform的工程,拷贝你提供的代码,发现IFontDisp 不能使用。

    如果方便,你能提供一个重现问题的demo吗? 如果测试出是bug,我们可以发帖到微软的connect网站。

    Best Regards,

    Hart


    Please remember to click "Mark as Answer" the responses that resolved your issue, and to click "Unmark as Answer" if not. This can be beneficial to other community members reading this thread. If you have any compliments or complaints to MSDN Support, feel free to contact MSDNFSF@microsoft.com.

    2017年3月7日 6:56
    版主
  • 您好,是winform程序。新建一个winform程序,加入引用using stdole。界面加入两个文本框和一个按钮即可。

    using System;
    using System.Collections.Generic;
    using System.ComponentModel;
    using System.Data;
    using System.Drawing;
    using System.Linq;
    using System.Text;
    using System.Windows.Forms;
    using stdole;
    namespace WindowsFormsApplication1
    {
        public partial class Form1 : Form
        {
            public Form1()
            {
                InitializeComponent();
            }
            private void button1_Click(object sender, EventArgs e)
            {
                IFontDisp f = (IFontDisp)new stdole.StdFontClass();
                f.Size = (decimal)Convert.ToDouble(textBox1.Text.Trim());
                textBox2.Text = f.Size.ToString();
            }
        }
    }
    2017年3月13日 13:41
  • Hi,

    我拷贝你的代码,建立一个windows form程序,没有办法识别stdole这个引用。

    下面是我的测试截图:


    Please remember to click "Mark as Answer" the responses that resolved your issue, and to click "Unmark as Answer" if not. This can be beneficial to other community members reading this thread. If you have any compliments or complaints to MSDN Support, feel free to contact MSDNFSF@microsoft.com.

    2017年3月17日 7:56
    版主