欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

C#?Winform文本面板帶滾動條的實現(xiàn)過程

 更新時間:2022年12月10日 10:07:57   作者:熊思宇  
當數(shù)據(jù)過多時,往往無法在一頁中展示,所以非常需要一個滾動條來調(diào)節(jié)頁面內(nèi)容,這篇文章主要給大家介紹了關(guān)于C#?Winform文本面板帶滾動條的實現(xiàn)過程,需要的朋友可以參考下

Winform 中如果需要在一個固定大小的面板中顯示一些內(nèi)容,并且面板能上下拖動,將所有的內(nèi)容完整的展示,這種需求很常見,下面就演示如何實現(xiàn)的吧

效果:

1.新建一個winform 項目,在界面中拖入一個Panel 

將 panel1 的 AutoScroll 設置為 True

2.再次拖入一個 Panel ,將高度拉長,這時就自動出現(xiàn)了滾動條,只是此時里面還沒有任何內(nèi)容,下面就在 panel2 中加入一點內(nèi)容。

3.在 panel2 中加入一個 Label ,將 AutoSize 設置為 false

這時,就可以調(diào)整 label 的大小了

將 label1 大小設置成 panel2 的大小一樣,并且,將位置坐標的 x,y 都設置為0

隨便打一點字,運行后,用鼠標中輪滾動,就能看到滾動效果了

當前的控件擋住了后面的控件,點擊不到,就無法修改它的屬性,這里分享一個小技巧,我們找到屬性界面:

找到圖中的這個下拉框, 直接在下拉框進行切換就好了

4.此時 panel 的大小是固定的,如果有的內(nèi)容非常的長,有的比較短,這樣顯示要么會導致部分內(nèi)容看不到,要么就會有大量的空白部分,這個時候,我們就需要有能自動調(diào)整展示面板高度的功能了,下面的代碼是用來顯示 Json 的,可以參考一下:

代碼:

using Newtonsoft.Json;
using System;
using System.Drawing;
using System.IO;
using System.Text.RegularExpressions;
using System.Windows.Forms;
 
namespace Test
{
    public partial class JsonWin : Form
    {
        public JsonWin(string json)
        {
            InitializeComponent();
 
            Json= json;
        }
 
        private string Json = string.Empty;
 
        private void JsonWin_Load(object sender, EventArgs e)
        {
            string json = PraseToJson(Json);
            string[] arr = Regex.Split(json, "\r\n", RegexOptions.IgnoreCase);
            Size size = label1.Size;
            Size newSize = new Size(size.Width, arr.Length * 23);
            label1.Size = newSize;
            panel2.Size = newSize;
            label1.Text = json;
        }
 
        public string PraseToJson(string json)
        {
            try
            {
                JsonSerializer s = new JsonSerializer();
                JsonReader reader = new JsonTextReader(new StringReader(json));
                Object jsonObject = s.Deserialize(reader);
                StringWriter sWriter = new StringWriter();
                JsonWriter writer = new JsonTextWriter(sWriter);
                writer.Formatting = Newtonsoft.Json.Formatting.Indented;
                s.Serialize(writer, jsonObject);
                return sWriter.ToString();
            }
            catch (Exception)
            {
                return json;
            }
        }
    }
}

PraseToJson 方法可以將連在一起的 json 字符串,轉(zhuǎn)換為一個標準的 Json 模板樣式,

Regex.Split 是根據(jù)換行符號,來分割 json ,得到 json 的總行數(shù),以便確定 Panel 的行高,得到行高后,就能確定大概的高度了,后面通過 Size 的調(diào)整,就能根據(jù)文本的內(nèi)容,來確定大概的行高了。

不過這種方式,只能在有換行符的內(nèi)容中,如果內(nèi)容像新聞一樣,幾千字都沒有一個換行符就稍微麻煩一點,需要計算每一行能顯示多少個文字來計算有多少行,不過能顯示個大概就行,多幾行空白應該不會有太大的影響吧。

總結(jié)

到此這篇關(guān)于C# Winform文本面板帶滾動條實現(xiàn)的文章就介紹到這了,更多相關(guān)C# Winform文本面板滾動條內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • C#實現(xiàn)簡易灰度圖和酷炫HeatMap熱力圖winform(附DEMO)

    C#實現(xiàn)簡易灰度圖和酷炫HeatMap熱力圖winform(附DEMO)

    本文主要介紹了C#實現(xiàn)簡易灰度圖和酷炫HeatMap熱力圖winform(附DEMO),文中通過示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-12-12
  • C#中volatile與lock用法

    C#中volatile與lock用法

    這篇文章主要介紹了C#中volatile與lock用法,較為詳細的分析了C#中volatile與lock的適用情況及用法實例,具有一定的參考借鑒價值,需要的朋友可以參考下
    2014-10-10
  • .NET實現(xiàn):將EXE設置開機自動啟動

    .NET實現(xiàn):將EXE設置開機自動啟動

    .NET實現(xiàn):將EXE設置開機自動啟動的方法,需要的朋友可以參考一下
    2013-03-03
  • C#?Directory類的操作代碼

    C#?Directory類的操作代碼

    這篇文章主要介紹了C#?Directory類的操作代碼,本文通過實例代碼給大家介紹的非常詳細,感興趣的朋友跟隨小編一起看看吧
    2024-03-03
  • 詳解C#中yield關(guān)鍵字的用法

    詳解C#中yield關(guān)鍵字的用法

    yield?關(guān)鍵字的用途是把指令推遲到程序?qū)嶋H需要的時候再執(zhí)行,這個特性允許我們更細致地控制集合每個元素產(chǎn)生的時機,那么下面就一起來看下怎么用?yield?關(guān)鍵字吧
    2023-07-07
  • C#中datagridview使用tooltip控件顯示單元格內(nèi)容的方法

    C#中datagridview使用tooltip控件顯示單元格內(nèi)容的方法

    這篇文章主要介紹了C#中datagridview使用tooltip控件顯示單元格內(nèi)容的方法,實例分析了C#控件的相關(guān)使用技巧,需要的朋友可以參考下
    2016-06-06
  • C#實現(xiàn)根據(jù)給出的相對地址獲取網(wǎng)站絕對地址的方法

    C#實現(xiàn)根據(jù)給出的相對地址獲取網(wǎng)站絕對地址的方法

    這篇文章主要介紹了C#實現(xiàn)根據(jù)給出的相對地址獲取網(wǎng)站絕對地址的方法,涉及C#URL及字符串操作的技巧,具有一定參考借鑒價值,需要的朋友可以參考下
    2015-03-03
  • C#導出Excel的幾種常見方式及詳細實現(xiàn)步驟

    C#導出Excel的幾種常見方式及詳細實現(xiàn)步驟

    excel導出在C#代碼中應用己經(jīng)很廣泛了,我這里就做些總結(jié),下面這篇文章主要給大家介紹了關(guān)于C#導出Excel的幾種常見方式及詳細實現(xiàn)步驟的相關(guān)資料,文中通過實例代碼介紹的非常詳細,需要的朋友可以參考下
    2023-06-06
  • c# 實時曲線圖示例代碼

    c# 實時曲線圖示例代碼

    這篇文章主要介紹了如何用c# 實現(xiàn)實時曲線圖,文中講解非常細致,代碼幫助大家更好參考和學習,感興趣的朋友可以了解下
    2020-06-06
  • C#實現(xiàn)定義一套中間SQL可以跨庫執(zhí)行的SQL語句(案例詳解)

    C#實現(xiàn)定義一套中間SQL可以跨庫執(zhí)行的SQL語句(案例詳解)

    這篇文章主要介紹了C#實現(xiàn)定義一套中間SQL可以跨庫執(zhí)行的SQL語句,主要包括hisql查詢樣例、group by查詢、鏈式查詢及hisql語句和鏈式查詢混用的sql語句,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2022-07-07

最新評論