首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >C#使用自定义TabPage更改TabControl中的默认TabPage

C#使用自定义TabPage更改TabControl中的默认TabPage
EN

Stack Overflow用户
提问于 2018-10-10 04:10:18
回答 1查看 708关注 0票数 1

我创建了一个自定义TabControl和一个自定义TabPage,如下所示:

自定义TabControl代码:

代码语言:javascript
复制
public class MyCustomTabControl : TabControl
{
   //Some Custom Properties

   public MyCustomTabControl () : base()
    {
        base.Width = 200;
        base.Height = 100;

    }
}

自定义TabPage

代码语言:javascript
复制
public class MyCustomTabPage : TabPage
{
    //Some Custom Properties

    public MyCustomTabPage() : base()
    {                     
        this.BackColor = System.Drawing.Color.Transparent;
    }
}

如何做到这一点,以便在表单中添加自定义控件MyCustomTabControl时,添加名为MyCustomTabPage的自定义TabPage。目前,它从窗口添加TabPage

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-10-10 05:15:08

您需要执行一些步骤,首先定义类MyCustomTabCollection并为MyCustomTabCollection类实现所有三个接口方法,然后将MyCustomTabControl上的MyCustomTabCollection实例声明为public属性。

实现接口

代码语言:javascript
复制
public class MyCustomTabPageCollection : IList, ICollection, IEnumerable
{
    // implement all three interfaces
}

实现所有方法

代码语言:javascript
复制
public object this[int index] { get => throw new NotImplementedException(); set => throw new NotImplementedException(); }

public bool IsReadOnly => throw new NotImplementedException();

public bool IsFixedSize => throw new NotImplementedException();

public int Count => throw new NotImplementedException();

public object SyncRoot => throw new NotImplementedException();

public bool IsSynchronized => throw new NotImplementedException();

public int Add(object value)
{
    throw new NotImplementedException();
}

public void Clear()
{
    throw new NotImplementedException();
}

public bool Contains(object value)
{
    throw new NotImplementedException();
}

public void CopyTo(Array array, int index)
{
    throw new NotImplementedException();
}

public IEnumerator GetEnumerator()
{
    throw new NotImplementedException();
}

public int IndexOf(object value)
{
    throw new NotImplementedException();
}

public void Insert(int index, object value)
{
    throw new NotImplementedException();
}

public void Remove(object value)
{
    throw new NotImplementedException();
}

public void RemoveAt(int index)
{
    throw new NotImplementedException();
}

声明您的CustomTabPageCollection

代码语言:javascript
复制
public class MyCustomTab : TabControl
{
    public MyCustomTabPageCollection TabPages { get; set; }

    public MyCustomTab() : base()
    {
        base.Width = 200;
        base.Height = 100;

    }
}

如果有什么问题,请告诉我。

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/52732514

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档