C # Изменение свойства WebBrowser.ScrollbarsEnabled показывает исключение недопустимого URI - PullRequest
1 голос
/ 01 августа 2011

Когда я просто выполняю следующую строку кода

wMessages.ScrollBarsEnabled = true;

, я вижу System.UriFormatException в данных IntelliTrace со словами "Invalid URI: The hostname could not be parsed.".Я не могу поймать это исключение, оно показывается только в IntelliTrace.Удаление кода делает мой веб-браузер отлично работающим, но мне нужны эти полосы прокрутки.

Я не могу понять, какова связь между полосами прокрутки и URI?Может быть, это как-то связано со свойством Document браузера?URL документа: "about:blank".

Есть предложения?

UPD:

Вот полный код:

string h = "";
if (currentpage != null)
    h = template + "<body><div class=\"messages\">" + currentpage.Messages() + "</div><div></div></body></html>";
else
    h = template + "<body><div class=\"messages\">" + "</div><div></div></body></html>";

wMessages.ScrollBarsEnabled = false;

Misc.OpenNew(wMessages, h);
try
{
    if (wMessages == null) return;
    if (wMessages.Document == null) return;
}
catch (System.Exception)
{
    return;
}

HtmlElement body = wMessages.Document.Body;
wMessages.Dock = DockStyle.Top;                

const double MaxHeightRatio = 0.4;

int availableHeight = pContainer.Height - wHeader.Height - pFooter.Height;

int BodyHeigth = (int)body.ScrollRectangle.Height;

if (BodyHeigth > (int)(availableHeight * MaxHeightRatio))
{
    wMessages.Height = (int)(availableHeight * MaxHeightRatio);                    
    wMessages.ScrollBarsEnabled = true; // here goes the exception
}
else
{
    //wMessages.ScrollBarsEnabled = false;
    wMessages.Height = BodyHeigth;
}                
wMessages.Visible = true;
...