作者: zantesu
查看: 7817|回复: 9
打印 上一主题 下一主题

使用Cskin中遇到的一些问题...

[复制链接]
跳转到指定楼层
楼主
查看: 7817|回复: 9
本帖最后由 zantesu 于 2015-1-9 16:55 编辑

  • 遇到内嵌Webbrowser并需要页面回调方法的时候, 即便是已经声明了[ComVisible(true)], 但继承的CCSkinMain似乎没有这个声明, 于是回调就会失效或报错, 对于大量依赖Webbrowser的界面, 不得不只能使用基本的Form
  • SkinChatList强制要求显示昵称, 就是括号里的那部分, 即便是手动设置昵称为空, 但括号并不会消失, 仍然显示一个空括号
  • CSkin依赖System.Design, 这样使用CSkin的工程不得不依赖.Net Framework Full而不是精简后的Client Profile, 这样不得不给用户也去安装一堆服务器才用到的运行库比如System.Web等等
  • ChatListBox在某些操作下偶尔会出现显示崩溃, 即界面上内容消失, 只显示巨大的红叉
  • ChatListBox分组后总是带有一个类似(8/8)的提示不知如何隐藏
  • SkinTextBox中的SkinText总是强制多行模式, 而不是单行文本框
所使用的CSkin.dll已是最新版(14.8.26.1)以上是平时遇到的较严重的几个问题, 急盼解决办法, 谢谢!

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 转播转播
回复 论坛版权

使用道具 举报

沙发
 楼主| zantesu 发表于 2015-1-19 09:15:22 | 显示全部楼层
关于SkinTextBox的问题, 经验证, 发现高度在28时内置SkinText自动单行模式, 高于此高度就强制为多行模式了
但无法通过更改字体大小的方式来使SkinTextBox的高度增加, 如图, 字体设置大了之后SkinText的高度溢出, 但外层SkinTextBox的高度适中不会变化, 一旦手动修改高度, SkinText又会强制进入多行...
因此现状是似乎没有任何办法来保持单行模式同时又修改SkinTextBox的高度?

板凳
 楼主| zantesu 发表于 2015-1-19 15:45:43 | 显示全部楼层
乔克斯 发表于 2015-1-19 13:12
SkinTextbox实际上是panel嵌套textbox。。你可以- -自己弄个panel嵌套。这样一切都可以掌控之中了。 ...

已经在这么做了....

另外就是CSkin貌似要设置一下Com可见性, 这是导致Webbrowser中的页面无法回调窗体方法的问题所在.

还有就是之前购买过CSkin的源码, 但版本较早, 不知道可否提供升级呢?
地板
 楼主| zantesu 发表于 2015-1-20 10:14:26 | 显示全部楼层
[C#] 纯文本查看 复制代码
namespace WindowsFormsApplication2 {
    [ComVisible(true)]
    public partial class Form1 : CCSkinMain {
        public Form1() {
            InitializeComponent();
            webBrowser1.ObjectForScripting = this;
        }

        public void openQuest(string id) {
            MessageBox.Show("done");
        }
}
}


详细提示:
[C#] 纯文本查看 复制代码
Managed Debugging Assistant 'NonComVisibleBaseClass' has detected a problem in 'D:\Documents\Visual Studio 2013\Projects\WindowsFormsApplication2\WindowsFormsApplication2\bin\Debug\WindowsFormsApplication2.vshost.exe'.

Additional information: A QueryInterface call was made requesting the default IDispatch interface of COM visible managed class 'WindowsFormsApplication2.Form1'. However since this class does not have an explicit default interface and derives from non COM visible class 'CCWin.CCSkinMain', the QueryInterface call will fail. This is done to prevent the non COM visible base class from being constrained by the COM versioning rules.




5#
 楼主| zantesu 发表于 2015-1-20 15:08:05 | 显示全部楼层
就是说, 我自己虽然声明了COM可见性, 但继承的CCSkinMain没有COM可见性所以就出错了...

那个插件是ClaudiaIDE
https://visualstudiogallery.msdn.microsoft.com/9ba50f8d-f30c-4e33-ab19-bfd9f56eb817
您需要登录后才可以回帖 登录 | 加入CSkin博客

本版积分规则

QQ|申请友链|小黑屋|手机版|Archiver|CSkin ( 粤ICP备13070794号

Powered by Discuz! X3.2  © 2001-2013 Comsenz Inc.  Designed by ARTERY.cn
GMT+8, 2024-5-3 21:12, Processed in 0.567610 second(s), 31 queries , Gzip On.

快速回复 返回顶部 返回列表