【发布时间】:2021-04-11 03:17:17
【问题描述】:
所以...我正在 Visual Studio 2019 中创建一个 Web 浏览器,并且我拥有浏览器应具有的所有内容选项卡设置进入搜索功能等等。唯一缺少的是当我想在 EasyTabs 选项卡中查看网站名称和图像时。我想用我在该选项卡中的网站替换简单选项卡中的应用程序图标图像,并且我还想替换 EasyTab 的名称而不是它说新选项卡我希望它指定一个网站,我例如,我目前在喜欢 bing。有人可以帮我吗?这将不胜感激。有关更多信息,请参阅我的 AppContainer 代码
namespace Damonic
{
public partial class AppContainer : TitleBarTabs
{
public AppContainer()
{
InitializeComponent();
AeroPeekEnabled = true;
TabRenderer = new ChromeTabRenderer(this);
}
// Handle the method CreateTab that allows the user to create a new Tab
// on your app when clicking
public override TitleBarTab CreateTab()
{
return new TitleBarTab(this)
{
// The content will be an instance of another Form
// In our example, we will create a new instance of the Form1
Content = new Form1
{
Text = "New Tab"
}
};
}
// The rest of the events in your app here if you need to .....
}
}
这是我的 Form1.cs 代码
namespace Damonic
{
public partial class Form1 : Form
{
// 2. Important: Declare ParentTabs
protected TitleBarTabs ParentTabs
{
get
{
return (ParentForm as TitleBarTabs);
}
}
public Form1()
{
InitializeComponent();
}
ChromiumWebBrowser Browser;
private void Form1_Load(object sender, EventArgs e)
{
CefSettings settings = new CefSettings();
//Initialize
CefSharpSettings.LegacyJavascriptBindingEnabled = true; // Enable Register JS Object, -- RegisterAsyncJsObject, RegisterJsObject allow
settings.CachePath = "cache";
settings.CefCommandLineArgs.Add("enable-media-stream", "1"); //Enable WebRTC4
settings.CefCommandLineArgs.Add("disable-gpu", "1");
settings.CefCommandLineArgs.Add("disable-gpu-compositing", "1");
BrowserSettings browserSettings = new BrowserSettings
{
FileAccessFromFileUrls = CefState.Enabled,
UniversalAccessFromFileUrls = CefState.Enabled,
WebSecurity = CefState.Enabled
};
Browser = new ChromiumWebBrowser(AddressText.Text);
this.pContainer.Controls.Add(Browser);
Browser.DownloadHandler = new DownloadHandler();
Browser.Dock = DockStyle.Fill;
Browser.Load("https://example.com/home/search?/enginecodec34958439543954989358?.;okoDS|pageloaded");
this.AcceptButton = this.NavigateToURL;
Browser.AddressChanged += Browser_AddressChanged;
Browser.TitleChanged += Browser_TitleChanged;
}
private void Browser_TitleChanged(object sender, TitleChangedEventArgs e)
{
this.Invoke(new MethodInvoker(() =>
{
EasyTabs.SelectedTab.Text = e.Title;
}));
}
private void Browser_AddressChanged(object sender, AddressChangedEventArgs e)
{
this.Invoke(new MethodInvoker(() =>
{
AddressText.Text = e.Address;
}));
}
private void button1_Click(object sender, EventArgs e)
{
if (Browser.CanGoBack)
Browser.Back();
}
private void button2_Click(object sender, EventArgs e)
{
if (Browser.CanGoForward)
Browser.Forward();
}
private void button3_Click(object sender, EventArgs e)
{
Browser.Reload();
}
private void button4_Click(object sender, EventArgs e)
{
Browser.Load("https://example.com/home/search?/enginecodec34958439543954989358?.;okoDS|pageloaded");
}
private void SecuritySettings_Click(object sender, EventArgs e)
{
}
private void textBox1_TextChanged(object sender, EventArgs e)
{
}
private void AddressBar_Click(object sender, EventArgs e)
{
}
private void button5_Click(object sender, EventArgs e)
{
AddressText.Clear();
}
private void NavigateToURL_Click(object sender, EventArgs e)
{
Browser.Load(AddressText.Text);
}
private void button6_Click(object sender, EventArgs e)
{
Browser.Load("https://login.live.com/");
}
}
} iv输入了人们告诉我输入的所有内容,iv甚至查看了EasyTabs Master Project,但我不明白,而且cefsharp示例甚至都没有 有人可以给我输入代码吗,我已经有一个标题事件但它不起作用,它没有错误但只是不起作用。请帮忙。如果你想看看我在说什么,我将导入一个图像Here,它显示文本(“新标签”)我希望它的名称根据我所在的网站而改变。 F
【问题讨论】:
-
您可以使用cefsharp.github.io/api/81.3.x/html/…获取标题更改通知。如果通过图标您指的是
Favicon,那么您需要实现cefsharp.github.io/api/81.3.x/html/… 并分配给cefsharp.github.io/api/81.3.x/html/… cefsharp.github.io/api/81.3.x/html/… 方法将使用当前可用的 url 列表调用,下载并显示一个。 -
我在谈论我,当您查看已打开的其中一个选项卡的顶部时,您知道如何在 google chrome 上查看网站名称及其图标的外观。谢谢你的favcon代码,我会用它来
-
那是你使用我链接的事件的标题。
-
标题事件是否与 EasyTabs 一起使用
-
我无法回答简单的标签问题,因为我从未使用过它。这是一个标准事件,所以很有可能。
标签: c# tabs visual-studio-2019 cefsharp