我想在列表视图中显示文件名,但是问题是列表视图未显示任何项目。 奇怪的是listview.items.count指示已正确添加项目。 项目只是不显示在任何类型的listview.view中。 编辑:ListView是拖放到选项卡控件上。
$str = "1-a,2-b,3-c";
$arr1 = explode(",", preg_replace("/\-([a-zA-Z]+)/", "", $str));
$arr2 = explode(",", preg_replace("/([0-9]+)\-/", "", $str));
print_r(array_combine($arr1, $arr2));
答案 0 :(得分:0)
有时,它有助于创建一个新项目,验证它是否可以工作,然后添加更多功能,直到您了解破坏程序的原因。下面的示例仅显示一个包含两个文件的ListView。确保这在您的计算机上有效。然后,慢慢添加更多代码,并始终检查程序是否仍然有效。我将所有代码都放在一个文件中,因为它更容易发布堆栈溢出,但您可以将其拆分为单独的文件。
using System;
using System.IO;
using System.Windows.Forms;
namespace WindowsFormsApp
{
public class ListViewDemo : Form
{
public ListViewDemo()
{
var _listView1 = new ListView();
string[] files = { @"C:\tmp\file1.txt", @"c:\path\to\file2.doc" };
foreach (string fi in files)
{
string fnameonly = Path.GetFileNameWithoutExtension(fi);
_listView1.Items.Add(fnameonly);
}
AutoSize = true;
Controls.Add(_listView1);
}
}
static class Program
{
[STAThread]
static void Main()
{
Application.Run(new ListViewDemo());
}
}
}
答案 1 :(得分:0)
这是一个非常愚蠢的错误,需要几天的时间才能发现。我不小心将内存分配给通过拖放操作创建的ListView控件。