c# - 允许文本换行和平滑滚动的 Winforms 控件
问题描述
Winforms 是否有任何默认情况下允许文本换行和平滑滚动的控件?
我试过 DataGridView 但似乎它不允许平滑滚动。另一个是 ListView,但我无法按像素运行滚动,尽管在将 ShowGroups 设置为 true 后它应该可以工作。而且我读过 ListView 不支持文本换行。
更新:我正在寻找类似网格的控件,这意味着我需要像使用表格一样使用它。
解决方案
您可以使用floating panel
, 并向其中添加新项目,然后将焦点向下滚动到该项目。您可以将自己的用户控件作为新项目,但在下面的示例中,我使用了一个简单的文本框。
private void btn_add_clicked(object sender, EventArgs e)
{
var textbox = new TextBox
{
Text = txtItem.Text,
Width = flowLayoutPanel1.Width
};
flowLayoutPanel1.Controls.Add(textbox);
textbox.Focus(); // set focus to it to make sure scroll down
}
只要确定flowLayoutPanel1.AutoScroll
是真的
flowLayoutPanel1.AutoScroll = true;
正如我之前所说,您可以自己制作user control
而不是文本框。
推荐阅读
- c# - SciChart 动态注释
- linux - How to Build the C code for linux target on windows platform/machine
- julia - MINLP in Julia using Juniper
- python-3.x - Create an excel file on run time with multiple sheets using xlsxwriter and python
- oracle - 自定义 Oracle ORDS 生成的 Swagger 文档
- d3.js - How to add suffix to label in a row chart using dc.js?
- reactjs - 如何使用 useState Reactjs 来控制打开或关闭 Modal Bootstrap?(不使用 ReactBootstrap 库)
- css - CSS 高度 + 行高 + 字体大小
- python - 如何验证自定义用户模型用户名以防止空格
- c# - 字典<(字符串,字符串,字符串),列表