1

我在一个小项目(webbrowser)中使用 Weifen Luo 的DockPanel Suite,并且设法能够创建选项卡并在每个选项卡内导航 webbrowser 元素。

但是,当页面导航到另一个站点时,我如何更改标签标题/名称?

基本上我只需要进入当前的标签表单。

4

4 回答 4

6

您可以使用 DockPanel 的ActiveContent方法获取当前选项卡。例如:

Form myForm = myDockPanel.ActiveContent();
myForm.TabText = "Stack Overflow";

DockPanel.ActiveDocumentDockPanel.ActivePane很有用。

于 2012-10-22T15:25:15.763 回答
0

您可以通过管理来管理自己的(假设您的文档表单是一个特定的类):

'FormClosing' 和 'Activated' 事件

“已激活”将您自己的“活动”文档设置为“此”。'FormClosing' 将您自己的“活动”文档设置为空。

FormClosing 只是为了捕捉您关闭最后一个文档的情况。激活是管理其他一切的东西,比如当一个新文档被创建并成为活动窗口等时。

您可以使用静态全局来管理焦点。然后从其他任何地方访问它:

public partial class MyDocument : DockContent
{
   public static MyDocument ActiveDocument { get; private set; }
于 2013-10-21T14:41:48.177 回答
0

经过几周的努力(直到现在:P)我不得不说,这目前是不可能的。

于 2011-01-24T18:20:38.293 回答
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();
于 2016-04-01T00:27:31.213 回答