小编alc*_*vil的帖子

当DrawMode不正常时,我的ComboBox看起来很糟糕

当ComboBox的DropDownStyle是DropDownList并且DrawMode是Normal时 - 它看起来不错,但是当我将DrawMode更改为OwnerDrawFixed时 - 它看起来非常糟糕(类似于带有箭头的TextBox下拉).当DrawMode不正常时,有什么解决方案可以让它看起来很好吗?

看起来像那样: 看起来像那样

我希望它看起来像那样: 我希望它看起来像那样

c# combobox winforms drop-down-menu

6
推荐指数
1
解决办法
5607
查看次数

使用语句无法正常工作

我的名为S的类看起来像这样:

public class S : IDisposable
{
    public void Dispose()
    {
        // some code
    }

    public void f()
    {
        throw new Exception("exception");
    }
}
Run Code Online (Sandbox Code Playgroud)

当我使用using语句时,f()方法不会调用s.Dispose()方法.我认为它应该调用Dispose方法,即使发生异常.这就是我在MSDN中读到的内容:"using语句确保即使在对象上调用方法时发生异常也会调用Dispose".我错过了什么吗?

using (S s = new S())
{
    s.f();
}
Run Code Online (Sandbox Code Playgroud)

调用sf()会结束我的程序而不会丢弃我的对象.我想我不必使用try/catch,因为using语句应该为我做.

.net c# using exception using-statement

6
推荐指数
2
解决办法
907
查看次数

元素属性是否是节点?

根据http://www.w3schools.com/js/js_htmldom_navigation.asp教程,元素属性也是节点.在下面的示例中,脚本仅显示元素节点.

<!DOCTYPE html>
<html>
<body>

<a href="#">link</a>
<p id="demo"></p>

<script>
var n = document.body.childNodes;
var s = "";
for (var i = 0; i < n.length; i++)
  s += n[i].nodeName + "<br>";
document.getElementById("demo").innerHTML = s;
</script>
some text

</body>
</html>
Run Code Online (Sandbox Code Playgroud)

结果(节点名称)是:

#text
A
#text
P
#text
SCRIPT
Run Code Online (Sandbox Code Playgroud)

我猜#text是换行符的节点名称等(但我不知道为什么SCRIPT之后的文本没有显示为#text).

为什么它没有显示href属性?即使我试图查看锚元素的所有子节点,它只显示内部的文本节点.

html javascript dom

3
推荐指数
1
解决办法
52
查看次数

Application.DoEvents()在等待WebBrowser完成加载时出现问题

我正在尝试加载WebBrowser内容,之后我想添加一些文本并滚动到底部.

这是我的代码示例:

webBrowser1.Url = new System.Uri("file:///" + filePath);
webBrowser1.Document.Body.InnerHtml += text;
webBrowser1.Document.Body.ScrollTop = webBrowser1.Document.Body.ScrollRectangle.Height;
Run Code Online (Sandbox Code Playgroud)

当我运行它时,有一个未处理的异常"对象引用未设置为对象的实例".或者,当我评论进行滚动的行时,文本将添加到WebBrowser的先前内容中,然后导航到新内容.

所以在我的示例代码的第一行之后我放了:

while (webBrowser1.ReadyState != WebBrowserReadyState.Complete) Application.DoEvents();
Run Code Online (Sandbox Code Playgroud)

但它搞砸了一切.我的应用程序正在做一些非常奇怪的事情,例如,当它应该被调用一次时,多次调用相同的方法.

有什么解决方案吗?

c# browser innerhtml doevents readystate

2
推荐指数
1
解决办法
2736
查看次数