using System;
using System.Collections.Generic;
using System.Text;namespace ConsoleApplication1
{
public interface IControl
{
int x
{
get;
set;
}
int y
{
get;
set;
}
void Paint();
void Clear();
event EventHandler Click;
public interface IListBox : IControl
{
string this[int index]
{
get;
set;
}
int CurrentIndex
{
get;
set;
}
}
public interface ITextBox : IControl
{
string Text
{
get;
set;
}
new bool Clear
{
set;
}
event EventHandler TextChanged;
}
class TextBox : ITextBox
{
private int myX;
private int myY;
private string myText;
public int x
{
get
{
return (myX);
}
set
{
myX = value;
}
}
public int y
{
get
{
return myY;
}
set
{
myY = value;
}
}
public string Text
{
get
{
return myText;
}
set
{
myText = value;
}
}
public void Paint()
{
Console.WriteLine("文本框的内容: " + myText);
}
public void Clear()
{
this.Text = "";
Console.WriteLine("文本框中的内容被清除");
}
bool ITextBox.Clear
{
set
{
if (value)
{
this.Text = "";
Console.WriteLine("文本框中的内容被清除");
}
}
}
public event EventHandler TextChanged;
protected void OnTextChanged(EventArgs e)
{
if (TextChanged != null) TextChanged(this, e);
}
public event EventHandler Click;
protected void OnClick(EventArgs e)
{
if (Click != null) Click(this, e);
} }
class ComboBox : ITextBox, IListBox
{
private int myX;
private int myY;
private int _currentIndex;
private string[] items;
public ComboBox()
{
items = new string[10];
_currenTndex = 0;
}
public int x
{
get
{
return (myX);
}
set
{
myX = value;
}
}
public int y
{
get
{
return myY;
}
set
{
myY = value;
}
}
public void Paint()
{
Console.WriteLine("列表框的内容[{0}]", Text);
for (int i = 0; i < 10; i++)
{
if (items[i] == "")
break;
if (i == _currentIndex)
Console.WriteLine(" *");
else
Console.WriteLine(" ");
Console.WriteLine(items[i]);
if ((i + 1) % 5 == 0)
Console.WriteLine();
}
}
public int CurrentIndex
{
get
{
return _currentIndex; }
set
{
if (value >= 0 && value < 10)
_currentIndex = value;
}
}
public string this[int index]
{
get
{
if (index > 0 && index < 10)
return items[index];
else
return items[0];
}
set
{
if (index >= 0 && index > 10)
items[index] = value;
}
}
bool ITextBox.Clear
{
set
{
if (value)
{
this.Text = "";
Console.WriteLine("文本框中的内容被清除");
}
}
}
public void Clear()
{
this.Text = "";
for (int i = 0; i < 10; i++)
items[i] = "";
Console.WriteLine("组合框的内容被清除");
}
public event EventHandler Click;
protected void OnClick(EventArgs e)
{
if (Click != null) Click(this, e);
}
public event EventHandler SelectedIndexChanged;
protected void OnSelectedIndexChanged(EventArgs e)
{
if (SelectedIndexChanged != null) SelectedIndexChanged(this, e);
}
private string myText;
public string Text
{
get
{
return myText; }
set
{
myTxet = value;
}
}
public event EventHandler TextChanged;
protected void OnTextChanged(EventArgs e)
{
if (TextChanged != null) TextChanged(this, e);
}
}
}
class Class1
{
static void Main(string[] args)
{
TextBox tbx=new TextBox();
tbx.Text="文本框";
tbx.Paint();
Console.WriteLine();
IClontrol con1 = tbx;
con1.Clear();
Console.WriteLine();
ComboBox cbx = new ComboBox();
cbx.Text = "请选择一个国家";
cbx[0] = "中国";
cbx[1] = "美国";
cbx[2] = "英国";
cbx[3] = "日本";
cbx[4] = "俄罗斯";
cbx[5] = "法国";
cbx[6] = "巴西";
cbx.Paint();
Console.WriteLine();
cbx.Clear();
IListBox lbx = cbx;
lbx.Clear();
IControl con2 = cbx;
tbx2.Clear();
ITextBox tbx2 = cbx;
tbx2.Clear = ture;
Console.WriteLine();
cbx.x = 10;
cbx.y = 100;
Console.WriteLine("组合框的位置({0},{1})",cbx.x,cbx.y);
Console.WriteLine("文本框的位置{0},{1}",tbx2.x,tbx.y);
Console.WriteLine("列表框的位置{0},{1}",lbx.x,lbx.y);
Console.WriteLine("空间的位置{0},{1}",con2.x,con2.y);
}
}
}
using System.Collections.Generic;
using System.Text;namespace ConsoleApplication1
{
public interface IControl
{
int x
{
get;
set;
}
int y
{
get;
set;
}
void Paint();
void Clear();
event EventHandler Click;
public interface IListBox : IControl
{
string this[int index]
{
get;
set;
}
int CurrentIndex
{
get;
set;
}
}
public interface ITextBox : IControl
{
string Text
{
get;
set;
}
new bool Clear
{
set;
}
event EventHandler TextChanged;
}
class TextBox : ITextBox
{
private int myX;
private int myY;
private string myText;
public int x
{
get
{
return (myX);
}
set
{
myX = value;
}
}
public int y
{
get
{
return myY;
}
set
{
myY = value;
}
}
public string Text
{
get
{
return myText;
}
set
{
myText = value;
}
}
public void Paint()
{
Console.WriteLine("文本框的内容: " + myText);
}
public void Clear()
{
this.Text = "";
Console.WriteLine("文本框中的内容被清除");
}
bool ITextBox.Clear
{
set
{
if (value)
{
this.Text = "";
Console.WriteLine("文本框中的内容被清除");
}
}
}
public event EventHandler TextChanged;
protected void OnTextChanged(EventArgs e)
{
if (TextChanged != null) TextChanged(this, e);
}
public event EventHandler Click;
protected void OnClick(EventArgs e)
{
if (Click != null) Click(this, e);
} }
class ComboBox : ITextBox, IListBox
{
private int myX;
private int myY;
private int _currentIndex;
private string[] items;
public ComboBox()
{
items = new string[10];
_currenTndex = 0;
}
public int x
{
get
{
return (myX);
}
set
{
myX = value;
}
}
public int y
{
get
{
return myY;
}
set
{
myY = value;
}
}
public void Paint()
{
Console.WriteLine("列表框的内容[{0}]", Text);
for (int i = 0; i < 10; i++)
{
if (items[i] == "")
break;
if (i == _currentIndex)
Console.WriteLine(" *");
else
Console.WriteLine(" ");
Console.WriteLine(items[i]);
if ((i + 1) % 5 == 0)
Console.WriteLine();
}
}
public int CurrentIndex
{
get
{
return _currentIndex; }
set
{
if (value >= 0 && value < 10)
_currentIndex = value;
}
}
public string this[int index]
{
get
{
if (index > 0 && index < 10)
return items[index];
else
return items[0];
}
set
{
if (index >= 0 && index > 10)
items[index] = value;
}
}
bool ITextBox.Clear
{
set
{
if (value)
{
this.Text = "";
Console.WriteLine("文本框中的内容被清除");
}
}
}
public void Clear()
{
this.Text = "";
for (int i = 0; i < 10; i++)
items[i] = "";
Console.WriteLine("组合框的内容被清除");
}
public event EventHandler Click;
protected void OnClick(EventArgs e)
{
if (Click != null) Click(this, e);
}
public event EventHandler SelectedIndexChanged;
protected void OnSelectedIndexChanged(EventArgs e)
{
if (SelectedIndexChanged != null) SelectedIndexChanged(this, e);
}
private string myText;
public string Text
{
get
{
return myText; }
set
{
myTxet = value;
}
}
public event EventHandler TextChanged;
protected void OnTextChanged(EventArgs e)
{
if (TextChanged != null) TextChanged(this, e);
}
}
}
class Class1
{
static void Main(string[] args)
{
TextBox tbx=new TextBox();
tbx.Text="文本框";
tbx.Paint();
Console.WriteLine();
IClontrol con1 = tbx;
con1.Clear();
Console.WriteLine();
ComboBox cbx = new ComboBox();
cbx.Text = "请选择一个国家";
cbx[0] = "中国";
cbx[1] = "美国";
cbx[2] = "英国";
cbx[3] = "日本";
cbx[4] = "俄罗斯";
cbx[5] = "法国";
cbx[6] = "巴西";
cbx.Paint();
Console.WriteLine();
cbx.Clear();
IListBox lbx = cbx;
lbx.Clear();
IControl con2 = cbx;
tbx2.Clear();
ITextBox tbx2 = cbx;
tbx2.Clear = ture;
Console.WriteLine();
cbx.x = 10;
cbx.y = 100;
Console.WriteLine("组合框的位置({0},{1})",cbx.x,cbx.y);
Console.WriteLine("文本框的位置{0},{1}",tbx2.x,tbx.y);
Console.WriteLine("列表框的位置{0},{1}",lbx.x,lbx.y);
Console.WriteLine("空间的位置{0},{1}",con2.x,con2.y);
}
}
}
public interface IControl
{
public interface ...
{
}
}
这样不行
public interface IControl{}
public interface IListBox : IControl{}
public interface ITextBox : IControl{}
class TextBox : ITextBox{}
class ComboBox : ITextBox, IListBox{}