我对c#不是很有经验。我正在使用winforms,我正在寻找一种方法来创建类似于此模板的元素列表,类似于visual studio的自动完成列表。 可以做吗?我应该使用listbox还是listview?Winforms列表框或列表视图图像和文本
编辑 对不起我的问题是不明确的,我不希望创建一个自动完成的,但我想创造什么是一样的东西this的事情的清单与旁边的那个东西的文字图标。
我对c#不是很有经验。我正在使用winforms,我正在寻找一种方法来创建类似于此模板的元素列表,类似于visual studio的自动完成列表。 可以做吗?我应该使用listbox还是listview?Winforms列表框或列表视图图像和文本
编辑 对不起我的问题是不明确的,我不希望创建一个自动完成的,但我想创造什么是一样的东西this的事情的清单与旁边的那个东西的文字图标。
据我所知,您可以创建自定义UserControl
或创建一个Form
并将ListBox
放入其中。如果您使用From
,请确保您更改边框样式布局,只需将其设置为无。创建使用后,它应该创建形式,并显示您希望是这样的:
FrmAutoComplete x = new FrmAutoComplete();
x.Show();
你可以把这个表格ToolTipItem并显示它。
祝你好运。
这是一个在ListView控件中使用图像的快速而肮脏的示例。由于我没有很多关于你打算做什么的信息,我试图保持简单。
简而言之,您需要将一些图像加载到内置Listview控件的ImageList(Large或Small)中,并为它们分配键,以便在添加它们时将它们分配给特定的列表项。
这个技巧是确定哪个图像用于特定的列表项目(假设有不同的图像分配给不同的列表项目,取决于某些区分因素),在本例中,我使用了“cars”的任意赋值或“卡车”,并简单地决定,列表中的前五项是汽车,最后五项是卡车,然后使用图像键为每个列表视图项添加适当的分配图像。更复杂的场景,并且在使用图像密钥时,添加项目的顺序无关紧要。
对于此用例,您需要创建或使用尺寸为16 x 16像素的图像。并将两个图像添加到我的项目资源文件中,然后简单地按照使用项目Properties.Resources
命名空间来隐藏它们。还有其他方法可以做到这一点,但这对我来说是最方便的。
希望有所帮助。
public partial class Form1 : Form
{
static string CAR_IMAGE_KEY = "Car";
static string TRUCK_IMAGE_KEY = "Truck";
public Form1()
{
InitializeComponent();
}
private void Form1_Load(object sender, EventArgs e)
{
this.SetupListview();
this.LoadListView();
}
private void SetupListview()
{
var imgList = new ImageList();
imgList.Images.Add("Car", Properties.Resources.jpgCarImage);
imgList.Images.Add("Truck", Properties.Resources.jpgTruckImage);
var lv = this.listView1;
lv.View = View.List;
lv.SmallImageList = imgList;
}
private void LoadListView()
{
for(int i = 1; i <= 10; i++)
{
string currentImageKey = CAR_IMAGE_KEY;
if(i > 5) currentImageKey = TRUCK_IMAGE_KEY;
var item = this.listView1.Items.Add("Item" + i.ToString(), currentImageKey);
}
}
[自动完成文本框在C#(http://www.c-sharpcorner.com/UploadFile/mahesh/AutoCompletion02012006113508AM/AutoCompletion.aspx)这是你想要的吗? – bwdeng