c# 控件怎么使用css 新手 请帮忙附上部分重要代码 谢谢
展开全部
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;
}
}
}
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询