在 Windows 窗体 c# 中绘制动态面板

     2023-04-11     44

关键词:

【中文标题】在 Windows 窗体 c# 中绘制动态面板【英文标题】:Draw dynamics panels in a windows form c# 【发布时间】:2020-08-04 21:30:21 【问题描述】:

您好,目前我有一个这样的 Windows 窗体:

在这种形式中,我总是有十个面板,并根据我需要将它们隐藏起来。例如,如果我有一个包含 7 个值的对象列表,我会隐藏面板 8、9、10,但这种方式并不高效,因为我的列表大小总是在变化,也许有时我会有一个包含 13 个面板的列表,并且在这个静态界面中我只有 10 个面板

我想把这个表格做得更好。新的窗口形式是这样的:

现在我想在表单的右侧绘制相同的黄色面板,但动态地根据我的对象列表的大小,如下所示

【问题讨论】:

非常不清楚!你说的“画”是什么意思??是真的画画还是只是展示? 您是否至少考虑过切换到 WPF?在我这样做之前,我认为它有“陡峭的学习曲线”。但事实并非如此。 WPF 确实比 WinForms 更容易。当您说“绘制”时 - WinForms 实际上逐像素绘制。 WPF 使用 DirectX 来绘制矢量,因此它就像“无限”地更快,此外,该应用程序能够以最小的努力感知 DPI,这意味着它在巨大的 4K 电视和小型平板电脑屏幕上都能正常工作。此外,您还可以为其制作“皮肤”,例如网络应用中的 CSS。 当我说绘制时,我指的是在执行时放置在我的表格布局面板和我的流程布局面板上。将此元素与解码代码放在相同的形式,如第一张和最后一张图片 【参考方案1】:

看看FlowLayoutPanelTableLayoutPanel

【讨论】:

在 Windows 窗体中删除绘制的对象

】在Windows窗体中删除绘制的对象【英文标题】:RemoveadrawnobjectinWindowsForms【发布时间】:2016-05-3110:57:01【问题描述】:我创建了一个Windows窗体,我在其中绘制了3个对象(矩形、圆形和线条)。我为所有这些对象提供了1个基类,... 查看详情

在 Windows 窗体/C# 中创建动态折叠面板

】在Windows窗体/C#中创建动态折叠面板【英文标题】:DynamicCollapse-PanelcreationinWindowsForms/C#【发布时间】:2013-10-3117:33:42【问题描述】:我需要编写一个Windows窗体,用户可以在其中查看按“客户”分组的许多“合同”。每个客户必... 查看详情

C# 在窗体内移动面板

】C#在窗体内移动面板【英文标题】:C#MovePanelinsideForm【发布时间】:2017-03-1319:11:37【问题描述】:我想让我的表单中的某些面板可拖动/可移动。我已经集成:publicconstintWM_NCLBUTTONDOWN=0xA1;publicconstintHT_CAPTION=0x2;[DllImportAttribute("user... 查看详情

Windows 窗体和 C# 中的动态自上而下的控件列表?

】Windows窗体和C#中的动态自上而下的控件列表?【英文标题】:DynamictopdownlistofcontrolsinWindowsFormsandC#?【发布时间】:2010-09-0620:39:05【问题描述】:在我们的项目SharpWired中,我们正在尝试创建一个类似于Firefox或Safari中的下载窗口... 查看详情

C# windows 窗体,Line 不会绘制!画布未定义

】C#windows窗体,Line不会绘制!画布未定义【英文标题】:C#windowsform,LinewontDraw!canvasisnotdefined【发布时间】:2021-02-0905:09:26【问题描述】:在第27行定义“画布”需要什么?我到处都看过,但它只给出了为什么一个对象可能没有被... 查看详情

java示例代码_Java到c#如何在面板中进行自定义绘制

java示例代码_Java到c#如何在面板中进行自定义绘制 查看详情

Windows 窗体 - 面板中的 ChildForm 被放大

】Windows窗体-面板中的ChildForm被放大【英文标题】:WindowsForms-ChildForminpaneliszoomedin【发布时间】:2022-01-0723:45:56【问题描述】:所以我有这段代码在面板中显示子窗体:privateFormactiveForm=null;privatevoidopenChildForm(FormchildForm)if(activeForm... 查看详情

c#使用windows窗体实现链接跳转功能(代码片段)

...窗体界面在工具箱中选择“LinkLabel”组件,后拖拽到Windows窗体上2.编写代码在对应的组件下编写相应的代码即可//跳转到网址链接privatevoidlinkLabel1_LinkClicked(objectsender,LinkLabelLinkClickedEventArgse)linkLabel1.LinkVisited=tr 查看详情

c#使用windows窗体实现链接跳转功能(代码片段)

...窗体界面在工具箱中选择“LinkLabel”组件,后拖拽到Windows窗体上2.编写代码在对应的组件下编写相应的代码即可//跳转到网址链接privatevoidlinkLabel1_LinkClicked(objectsender,LinkLabelLinkClickedEventArgse)linkLabel1.LinkVisited=tr 查看详情

C# 获取窗体上控件的位置

】C#获取窗体上控件的位置【英文标题】:C#Getacontrol\'spositiononaform【发布时间】:2010-12-0111:18:40【问题描述】:当控件可能位于其他控件(如面板)内时,是否有任何方法可以检索表单中控件的位置?控件的Left和Top属性只提供... 查看详情

C# - 如何在 DLL 中打开 Windows 窗体

】C#-如何在DLL中打开Windows窗体【英文标题】:C#-HowtoopenaWindowsForminDLL【发布时间】:2019-03-2902:04:31【问题描述】:我有两个程序:DesktopApp1和DesktopApp2。它们都是Windows窗体,但第一个输出到类库(.dll),第二个引用它。表格1(dll)... 查看详情

如何在 C# windows 窗体中使用事件作为方法?

】如何在C#windows窗体中使用事件作为方法?【英文标题】:HowcaniUseaEventasmethodinC#windowsform?【发布时间】:2021-10-1020:45:53【问题描述】:this.FormClosing();我想像方法一样使用C#windows窗体事件,但会说“事件\'Form.FormClosing\'可以出现... 查看详情

如何在 Windows 窗体 C# 中伪造鼠标光标位置?

】如何在Windows窗体C#中伪造鼠标光标位置?【英文标题】:HowtofakemousecursorpositioninWindowsFormsC#?【发布时间】:2011-03-2922:15:18【问题描述】:我有一个带有简单气球工具提示的Windows窗体应用程序。根据应用程序在桌面上的窗口位... 查看详情

在windows窗体c#中忘记密码

】在windows窗体c#中忘记密码【英文标题】:ForgotPasswordinwindowsformc#【发布时间】:2020-03-2222:46:40【问题描述】:在下面的代码中:我想在用户尝试输入与数据库关联(不)关联的电子邮件时警告用户。当我输入某些内容不在我的... 查看详情

在 C# Windows 窗体中对字典进行排序[重复]

】在C#Windows窗体中对字典进行排序[重复]【英文标题】:SortingadictionaryinaC#WindowsForm[duplicate]【发布时间】:2015-12-1805:08:54【问题描述】:我在c#中有一个Windows窗体应用程序,我正在显示字典。我要做的是对字典进行排序。在字典... 查看详情

无法在 Windows 窗体 C# 中完全隐藏顶部栏

】无法在Windows窗体C#中完全隐藏顶部栏【英文标题】:HowtofullyhidethetopbarinWindowsFormusingC#【发布时间】:2016-09-1900:05:13【问题描述】:我正在使用C#。我知道这个问题很常见,只是我仍然无法完全隐藏顶部栏。这是我将表单文本字... 查看详情

在 C# windows 窗体中克隆按钮的语法是啥? [关闭]

】在C#windows窗体中克隆按钮的语法是啥?[关闭]【英文标题】:WhatisthesyntaxforcloningabuttoninC#windowsforms?[closed]在C#windows窗体中克隆按钮的语法是什么?[关闭]【发布时间】:2021-01-0121:58:24【问题描述】:我正在获取计算机上的所有... 查看详情

如何在windows窗体应用程序c#中中止当前任务

】如何在windows窗体应用程序c#中中止当前任务【英文标题】:HowtoAbortCurrenttaskinwindowsformapplicationc#【发布时间】:2012-06-1410:34:30【问题描述】:我想提供一个取消当前任务的按钮,假设我要执行以下任务,大约需要30分钟privatevoid... 查看详情