错误信息:ActiveX controls only accept fonts that are defined in GraphicsUnit.Point.
Parameter name: font有下列几种情况:
1、把Active Control直接拉到窗体,Visual Stadio 2005直接退出;
2、把代码放到窗体OnLoad中,就出现上述问题。该问题在VS2003中未出现过。各位有没有遇到过这样的问题?应该是font的问题,但我没有找到解决方法。
曾经使用
axPBar1.Font = new System.Drawing.Font("Microsoft Sans Serif", 12.0F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)0));
问题依旧存在。

解决方案 »

  1.   

    谢谢大家的关注!To:Knight94(愚翁) 
    根据错误信息猜测是字体原因,但2003使用的也是同样的字体。
    更准确点说,2003没有特别设定字体,应该是使用默认的。
    2005用默认的出现问题,所以我改用上述的字体设置,问题依旧如此。To:bys_home(浪子无痕)
    目前就是使用自己写代码加载出现这个问题,如果是直接拖动OCX控件,VS2005直接就退出了,根本看不到错误信息,只是在事件查看器中显示:
    .NET Runtime version 2.0.50727.42 - Fatal Execution Engine Error (79FEEED7) (800703e9)
      

  2.   

    To:net_lover(孟子E章) 
    改成Arial字体,问题依旧如此。
      

  3.   

    除了改变字体外,尝试改变GraphicsUnit的设置,改成pixel试试
      

  4.   

    To:xgen007(dotNet is a strong compiler IDE)用pixel试过,其它的也是试过,问题还是一样。
      

  5.   

    2005跟2003好像兼容性不太好。我也出现过OCX的问题,不过和你的不一样。友情UP
      

  6.   

    To:qwerttyy(猫猫抱抱狗狗跳跳) 
    你出现的问题是怎么样的?
    可否说出来参考参考
      

  7.   

    2003里引用OCX的时候好象没出过这样的问题,不过这个也不应该是2005的问题啊...
      

  8.   

    To:zhzuo(秋枫) 
    是装在同一台机器上的
      

  9.   

    问题已经解决了,现总结如下:
    1、使用微软的OCX(如:MSCHART)没有问题,但自定义的OCX控件有问题,由于是第三方提供,无法再进一步分析原因;
    2、解决方法:使用编码实现创建控件,在窗体构造函数中调用该代码。
    一定要在构造函数中创建,在其它地方(如:OnLoad)创建都会出问题。
      

  10.   

    protected void CreateWorkspace()
    {                     

                
                
                //创建地图选项卡
    CreateMapOutlookBar();
    //创建查询选项卡
    CreateQueryOutlookBar(); // 设置两个选项卡
    _cIndexWnd = _manager.Contents.Add(_mapOutlookBar, "地图",_imagesWorkspace,2);
    _cQueryWnd = _manager.Contents.Add(_queryOutlookBar, "查询",_imagesWorkspace,1); _cIndexWnd.CloseButton = false;
    _cIndexWnd.HideButton =false;
    _cIndexWnd.DisplaySize = new Size(this.Width/5 ,this.Height * 3 /4); 
    _cIndexWnd.Control.Width =  this.Width/5; _cQueryWnd.CloseButton = false;
    _cQueryWnd.HideButton = false; this.SuspendLayout();
          
    // 将地图选项卡放置在工作区的左边
    _wc = _manager.AddContentWithState(_cIndexWnd, State.DockRight) as WindowContent;
    _manager.AddContentToWindowContent(_cQueryWnd, _wc);    
     
    _cQueryWnd.ParentWindowContent.ZoneArea = 125;   _mapEye = new AxMapObjects2.AxMap();
                         
    _cEyeWnd = _manager.Contents.Add(_mapEye);
    _cEyeWnd.FullTitle = "缩略图";
    _cEyeWnd.CloseButton = false;
    _cEyeWnd.HideButton = false;
    _cEyeWnd.DisplaySize = new Size(this.Width/5 ,this.Height /4);  //2003.3.16
    this._mapEye.AfterLayerDraw += new AxMapObjects2._DMapEvents_AfterLayerDrawEventHandler(_mapEye_AfterLayerDraw);
    this._mapEye.MouseUpEvent += new AxMapObjects2._DMapEvents_MouseUpEventHandler(_mapEye_MouseUpEvent);
               
                _manager.AddContentToZone(_cEyeWnd, _wc.ParentZone, 1);
                _cEyeWnd.ParentWindowContent.ZoneArea = 25; 
      
    this.ResumeLayout(); 
    }
    这个是我的创建函数,然后我在主函数中调用:
    public frmMain()
    {
    InitializeComponent(); //初始化参数
    _nInitStatus = 0; //装载资源
    LoadResources(); CreateToolBar16();
    CreateToolBar2(); _manager = new DockingManager(this, Crownwood.Magic.Common.VisualStyle.IDE);
    _manager.OuterControl = _statusBar;
                Initialize(); //装载数据
    LoadData();
    CreateWorkspace(); _mapTip = new MapTip(this);
    }
    但是仍旧会出现楼主所说的那个问题?请您帮忙,谢谢!!!