c# 控件怎么使用css 新手 请帮忙附上部分重要代码 谢谢

 我来答
skyover
2017-04-24 · TA获得超过258个赞
知道小有建树答主
回答量:158
采纳率:100%
帮助的人:89.6万
展开全部

c#的winform控件不能直接使用css,只能在webbrowser里添加html控件,之后与c#交互,达到winform控件的效果。

首先,窗体中拖一个webbrowser进去,之后随便你用什么工具新建一个html文件,建好以后导入到c#项目的资源文件里。

之后你就可以用vs直接编辑这个html的资源文件了。

如图所示,在html里添加了一个文本框和一个按钮,并分别用css设置了他们的宽度和边距等样式。

之后在窗体的load事件里将这个资源文件作为字符串写入webbrowser中。

webBrowser1.Document.Write(Properties.Resources.test);

这样,启动应用后,webbrowser里就会出现你之前在html文件里定义的文本框按钮等元素,而且css样式也生效了。

之后就是设置c#和js交互,让html中的元素能够调用c#的方法。

首先在窗体的代码里引用

using System.Runtime.InteropServices;

之后

    [ComVisible(true)]
    public partial class Form1 : Form

使类对com可见。然后就可以在定义c#的方法了。

        public void Aletit(string text)
        {
            this.Text = text;
        }

最后在资源文件的html里,给按钮添加一个onclick="Alertit()",然后定义js,

    <script>
        function Alertit()
        {
            var text = document.getElementById("text").value;
            window.external.Aletit(text);
        }
    </script>

这样,启动应用后,点击按钮,就会将窗体的标题设置为文本框中的内容。

当然,还有c#调用js中方法和属性之类的,这里不赘述了。

给你完整的代码

html

<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>无标题文档</title>
<style>
    #text
    {
        width:100%;
    }
    #btn
    {
        position:relative;
        width:20%;
        margin:10px;
        border:#000 solid 1px;
    }
</style>
</head>
<body>
<input id="text" type="text"/>
    <button id="btn" onclick="Alertit()">点击</button>
    <script>
        function Alertit()
        {
            var text = document.getElementById("text").value;
            window.external.Aletit(text);
        }
    </script>
</body>
</html>

c#

using System;
using System.Windows.Forms;
using System.Runtime.InteropServices;
namespace 单词数量
{
    [ComVisible(true)]
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }
        private void Form1_Load(object sender, EventArgs e)
        {
            webBrowser1.ObjectForScripting = this;
            webBrowser1.Document.Write(Properties.Resources.test);
        }
        public void Aletit(string text)
        {
            this.Text = text;
        }
    }
}
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式