Tag: 列表视图

C#WinForms ListView项目计数更改事件

WinView中的事件是否会在ListView中的项目数更改时触发? 我试过尺寸和文字 – 奇怪的是他们“sorta”工作但并不总是…… 我尝试触发标签更新列表视图项的计数,因为它更改而无需手动执行一百种方法。

在listview控件上动态创建固定大小的缩略图

如何动态创建固定大小的缩略图并在listview中调整图像大小最适合缩略图的大小。 private void Treeview1_AfterSelect(System.Object sender, System.Windows.Forms.TreeViewEventArgs e) { if (folder != null && System.IO.Directory.Exists(folder)) { try { DirectoryInfo dir = new DirectoryInfo(@folder); foreach (FileInfo file in dir.GetFiles()) { try { imageList.ImageSize = new Size(136, 136); imageList.ColorDepth = ColorDepth.Depth32Bit; Image img = new Bitmap(Image.FromFile(file.FullName)); Graphics g = Graphics.FromImage(img); g.DrawRectangle(Pens.Red, 0, 0, img.Width – 21, img.Height – […]

如何在WinForms GUI控件和客户端类之间同步数据?

什么方法被认为是保持GUI控件中的数据结构与应用程序维护的数据结构同步的“标准”? 例如:在WinForms中,如果创建一个ListView实例,而不是将其指向表示列表中显示的项的数据结构,则必须以编程方式实例化ListViewItem并调用.Add方法来手动复制它们,一个接一个地进入ListView本身内部的数据结构。 从线程的角度来看,这是有道理的,并且在呈现的上下文中也有意义,控件应该需要存在专用数据结构,控件单独知道有关维护的细节。 但是,这会产生两个问题: 冗余:如果客户端类管理自己的实体列表,允许用户从WinForms UI中选择它们,则必须通过以下方法读取,转换然后在UI控件内重新创建整个列表:.Add( ListViewItem项目)列表现在占用两倍的内存。 复杂性:由于现在存在两个列表,因此必须以编程方式确保它们保持同步。 这可以通过从客户端类的集合对象触发的事件来实现,或者程序员可以在添加/删除另一个列表时始终在一个列表中添加/删除。 我见过许多实例,程序员将使用像ListView这样的UI元素作为用于维护列表的实际集合对象的快捷方式。 例如,每个用户输入的项目将立即插入ListView,然后当访问用户的entires时,应用程序只是遍历ListView。 当您从UI逻辑中正确分离业务/应用程序逻辑时,此方法无法应用。 总的来说,将应用程序数据存储在GUI控件内部的数据结构中似乎并不正确。 同样,存储两个列表并使它们保持程序化同步似乎也不是一个优雅的解决方案。 理想情况下,只需要为UI元素提供对位于客户端范围内的列表的引用。 那么,解决这个问题的“正确”方法是什么?

为什么在unit testing中实例化ListView时SelectedIndices和SelectedItems不起作用?

我正在回答你自己的问题时写这个问题,因为我找到了问题的解决方案,但如果有人有更好的解决方案,我很乐意听。 在我正在处理的应用程序中,我正在inheritanceListView控件以添加一些function,其中一些function与ListView SelectedIndices和SelectedItems属性进行交互。 问题是,当我尝试对子类进行unit testing时,当我向选择中添加项时,SelectedIndices和SelectedItems属性不会更新。 我试过了两个 item.Selected = true 和 listView.SelectedIndices.Add(…) 但SelectedIndices或SelectedItems似乎并未受到影响。 unit testingfunction的其他部分工作正常。 如何对ListView子类的选择依赖部分进行unit testing?

WPF / C# – 将日期格式应用于listview

我有一个列表视图绑定到一组对象。 其中一个属性是名为startDate的DateTime对象。 它以标准1/1/2001 1:00:00 PM格式显示 我想将日期放在yyyy-MM-dd HH:mm:ss.fff格式中仅用于显示目的。 有没有办法保持基础DateTime对象在上面以所需格式显示它时? 我更喜欢在XAML中执行此操作,而不是向对象添加显示属性或沿着这些行添加某些内容。 如果这很重要,对象会实现INotifyPropertyChanged接口。 所有人都提前谢谢。

如何对包含文件大小数据的列表视图列进行排序? C#

我想对ListView列中的项进行排序,我已经完成了它,但是……我无法用列中的数据类型(见图)来制作它,有人知道这样做的方法吗?

在listview中为图像绘制边框

在select事件之后的树视图中,我使用图像填充列表视图。 我想自定义这些图像的格式,并在每个图像周围放置一个黑色边框。 private void TreeView1_Select(object sender, EventArgs e) { if (folder != null && System.IO.Directory.Exists(folder)) { DirectoryInfo dir = new DirectoryInfo(@folder); foreach (FileInfo file in dir.GetFiles()) { try { imageList.Images.Add(Image.FromFile(file.FullName)); } catch { Console.WriteLine(“This is not an image file”); } } for (int j = 0; j < imageList.Images.Count; j++) { this.ListView1.Items.Add("Item" + j); this.ListView1.Items[j].ImageIndex […]

在listview列标题中的列区域之外绘图

是否可以拥有列表视图的整个列标题部分? (包括列标题右侧的区域)? ListView位于详细信息视图中。 这里的答案表明剩余空间可以与最后一列标题一起绘制: http : //www.devnewsgroups.net/group/microsoft.public.dotnet.framework.windowsforms/topic32927.aspx 但它似乎根本不起作用 – 在标题区域之外没有任何东西。 建议的解决方案基于在传递的边界之外绘制: if (e.ColumnIndex == 3) //last column index { Rectangle rc = new Rectangle(e.Bounds.Right, //Right instead of Left – offsets the rectangle e.Bounds.Top, e.Bounds.Width, e.Bounds.Height); e.Graphics.FillRectangle(Brushes.Red, rc); } 可用Graphics实例的ClipBounds属性指示未绑定区域(从大负数到大正数)。 但是在最后一列的列标题区域之外没有任何内容。 有人有解决方案吗?

ASP.Net:ListView的ItemTemplate中的条件逻辑

我想根据绑定字段是否为空来显示ItemTemplate的某些部分。 以下面的代码为例: (为简洁起见,删除了LayoutTemplate等代码) <a href="https://stackoverflow.com/questions/1083829/asp-net-conditional-logic-in-a-listviews-itemtemplate/”>Link 以上给出了以下运行时错误: 数据绑定方法(如Eval(),XPath()和Bind())只能在数据绑定控件的上下文中使用。 那么怎样才能在ItemTemplate一些条件逻辑(如上所述)?

ASP.NET中List 和ListViews的Dictionary

前言 我问这个问题,因为即使我已经阅读了很多ListView资源,我仍然没有“得到”它。 背景 我有一堆Foo有一个与它们相关的项目列表( 称为 Bar ),我将它们从数据访问/业务逻辑层中拉出来作为包含Foo及其相关Bars Dictionary。 我想在网页上将这些项目吐出到一个ListView ,该ListView包含左侧的Foo.Name ,右侧的List位于下拉列表中。 (以下面我美丽的ASCII艺术所示): 列表显示 ————————————————– —————- | 物品名称| DropDownList(List )| | ——————————— | _____________________ | | foo1 | | bar1 | v | | | | | _______________ | ___ | | ————————————————– —————- | | DropDownList(List )| | | _____________________ | | foo2 | | […]