我在一个小项目(webbrowser)中使用了Weifen Luo的DockPanel套件,并且设法能够创建标签并浏览每个标签内的webbrowser元素。
但是,当页面导航到另一个站点时,如何更改选项卡标题/名称?
基本上我只需要进入当前标签表格。
答案 0 :(得分:6)
您可以使用DockPanel的ActiveContent
方法获取当前标签。例如:
Form myForm = myDockPanel.ActiveContent();
myForm.TabText = "Stack Overflow";
DockPanel.ActiveDocument
和DockPanel.ActivePane
也很有用。
答案 1 :(得分:0)
在这几周工作之后(不是'直到现在虽然:P)我不得不说,目前这是不可能的。
答案 2 :(得分:0)
您可以通过以下方式管理自己(假设您的文档表单是特定类):
'FormClosing'和'Activated'事件
'已激活'将您自己的“有效”文档设置为“此”。 'FormClosing'将您自己的“活动”文档设置为null。
FormClosing只是为了捕捉您关闭最后一个文档的情况。 Activated是管理其他所有内容的东西,比如创建新文档并将其作为活动窗口等等。
您可以使用静态全局来管理焦点。然后从其他任何地方访问它:
public partial class MyDocument : DockContent
{
public static MyDocument ActiveDocument { get; private set; }
答案 3 :(得分:0)
我需要能够检查哪个文档处于活动状态,并在更改了一些自动重置活动选项卡的UI元素后再次将该文档设置为活动,因此我使用了一些来自此处和DockPanel常见问题解答,并进行了一些挖掘找出这个问题的答案:
public string GetActive()
{ //Verify if forms that dock in main window are already open
foreach (DockContent form in dockMain.Contents)
{
if (form.DockHandler.Pane.ActiveContent.DockHandler.Form.Name.ToString() == form.Name.ToString())
{
string formName = form.Name.ToString();
return formName;
}
}
return null;
}
然后在其他方法中你会打电话:
string activeForm = GetActive();