如何在WinForms 2.0中隐藏TabControl中的TabPage?
我在#.NET应用程序中使用TabControl.默认情况下,TabControl的第一个标签页显示在表单加载中.我想激活/显示表单加载中的其他标签页.以编程方式,我如何显示其他标签页?
我正在制作一个事件来检查选项卡控件中的特定标签页是否处于活动状态.
关键是,如果选项卡控件中的选项卡页面是当前选定的选项卡,它将触发事件.任何代码都会给我我需要的东西?
我正在尝试从用户获取访问令牌
string response_script = "<script>top.location.href='https://www.facebook.com/v2.4/dialog/oauth?response_type=token&client_id=[APPLICATION ID]&redirect_uri=https://www.facebook.com/[APPLICATION URL]/?sk=app_[PAGE ID]&scope='; </script>";
Run Code Online (Sandbox Code Playgroud)
但我收到一个错误:
无法加载网址:此网址的域名未包含在应用的域中.要加载此网址,请将应用的所有域和子域添加到应用设置中的应用域名字段中.
该代码运作良好.所以我认为需要添加我的网址
有效的OAuth重定向URI
但它不再存在于高级部分中.facebook改变了它的设计,现在它看起来像这样.这是太大的图像,因为我在stackoverflow之外
我能做什么?
I am trying to show or hide tabpages as per user choice. If user selects gender male then form for male in a tabpage "male" should be displayed and if user selects female then similar next form should be displayed in next tab "female"
I tried using
tabControl1.TabPages.Remove(...)
Run Code Online (Sandbox Code Playgroud)
and
tabControl1.TabPages.Add(...)
Run Code Online (Sandbox Code Playgroud)
It adds and removes the tabpages but doing so will loose my controls on tabpages too... i can't see them back. what's the problem here?
这是我的代码:
public MainForm()
{
InitializeComponent();
MyServiceSettings obj = (MyServiceSettings)ConfigurationManager.GetSection("MyServiceSettings");
foreach (MyServiceConfigElement service in obj.Services)
CreateServiceControl(service);
}
private void CreateServiceControl(MyServiceConfigElement service)
{
TabPage tp = new TabPage(service.Name);
tabControl1.TabPages.Insert(0, tp);
//tabControl1.TabPages.Add(tp);
tabControl1.Refresh();
}
Run Code Online (Sandbox Code Playgroud)
简而言之,它读取配置文件中的一个部分,并为该部分中的每个元素创建一个选项卡.
我已经在设计时创建了一个静态TabPage.我希望在此静态选项卡之前插入动态创建的选项卡.
运行此代码时,tabcontrol仅显示静态标签页.
如果我做这个改变:
private void CreateServiceControl(SoftInfoServiceConfigElement service)
{
TabPage tp = new TabPage(service.Name);
//tabControl1.TabPages.Insert(1, tp);
tabControl1.TabPages.Add(tp);
tabControl1.Refresh();
}
Run Code Online (Sandbox Code Playgroud)
使用Add方法显示所有页面.但我没有得到我想要的订单.
使用Insert方法有什么我不理解的东西吗?它为什么工作?
我怎么能TabPage
在TabControl
可见/隐藏和启用/禁用?
我正在尝试根据选项卡控件上单击的选项卡页面自动触发事件.
在我的表单的设计模式中,当我单击选项卡时,属性框显示Tabs System.Windows.Forms.TabControl选择了哪个选项卡.但是,我必须单击实际页面,而不是属性的选项卡更改为页面的名称,例如TaskListPage System.Windows.Forms.TabPage.
我的tabcontrol称为Tabs,我试图使用下面的代码测试它,该代码应该显示基于tab选项的消息.
private void Tabs_SelectedIndexChanged(object sender, EventArgs e)
{
if (Tabs.SelectedTab == TaskListPage)
{
MessageBox.Show("TASK LIST PAGE");
}
else if (Tabs.SelectedTab == SchedulePage)
{
MessageBox.Show("SCHEDULE PAGE");
}
}
Run Code Online (Sandbox Code Playgroud)
当我测试上面的代码时,什么也没发生.
在点击特定选项卡时让事件有效的任何帮助将不胜感激!
谢谢
我想构建一个用户界面,由于历史原因,它有很多"列"信息.其中许多在所有情况下都与所有用户无关,所以我想我会看到停靠面板,以允许用户根据他们的工作场景隐藏或重新排列列.
这是.NET 3.5中的Winforms.
因此,我想要以下内容:
示例样机http://images.vkarlsen.no/so/2902953/dock-test.png
到目前为止,我已经尝试了以下组件包,没有运气:
Telerik的
允许我停靠在标签页内,但停靠面板无法从一个标签页移动到另一个标签页.当尝试将浮动面板拖放到与其来源不同的选项卡页面上时,它会显示停靠栏将成功,但是当它被丢弃时,它将停靠在其所有者容器上.
Divelements SandDoc
与Telerik相同的问题.
DevExpress XtraBars
与Telerik相同的问题.
http://sourceforge.net/projects/dockpanelsuite/
同样的问题,停靠站内容窗口只能属于一个停靠面板,这意味着它无法从一个选项卡迁移到另一个选项卡.
基本上,有没有人知道任何这样的组件(包)可以让我做我想要的?
编辑:好的,我试过让Sourceforge控件在上面工作,但我看不出如何使这个工作.
基本上,这就是我需要做的事情:
如果我理解下面的答案提到这个控件,我应该使用DockPanel而不是TabControl,而DockPane而不是TabPage,但据我所知,这只能让我能够停靠和取消选项卡页面,而这不是我想要的是.
无论如何,这是一个程序文件,只需创建一个Winforms项目,从sourceforge项目添加对.dll的引用,并在Program.cs中粘贴此代码:
using System;
using System.Windows.Forms;
using WeifenLuo.WinFormsUI.Docking;
namespace DockTest
{
public class DockWindow1 : DockContent
{
public DockWindow1()
{
TabText = "Dock-window #1";
DockPanel panel = new DockPanel();
panel.Dock = DockStyle.Fill;
Controls.Add(panel);
// tried this related to the exceptions
// this.DockPanel = panel;
}
}
public class DockWindow2 : DockContent
{
public DockWindow2() …
Run Code Online (Sandbox Code Playgroud) tabpage ×10
tabcontrol ×8
c# ×7
winforms ×6
.net ×3
components ×1
dockpanel ×1
facebook ×1
javascript ×1
tabpanel ×1
vb.net ×1