📜  如何在C#中的TextBox中设置滚动条?

📅  最后修改于: 2021-05-29 16:32:44             🧑  作者: Mango

在Windows窗体中,TextBox扮演着重要角色。借助TextBox,用户可以在应用程序中输入数据,它可以是单行或多行。在TextBox中,当您通过TextBox的ScrollBars属性使用多行TextBox时,可以设置滚动条。此属性的默认值为Windows形式,您可以通过两种不同的方式设置此属性:

1.设计时:这是设置TextBox的ScrollBars属性的最简单方法,如以下步骤所示:

  • 第1步:创建一个Windows窗体。
    Visual Studio->文件->新建->项目-> WindowsFormApp
  • 步骤2:从工具箱中拖动TextBox控件,并将其放在Windows窗体上。您可以根据需要将TextBox放置在Windows窗体上的任何位置。如下图所示:
  • 步骤3:拖放后,您将转到TextBox控件的属性以设置TextBox的ScrollBars属性。

    输出:

注意:请记住,如果将WordWrap属性设置为true,则无论ScrollBars属性的值如何,都不会显示水平滚动条。

2.运行时:比上述方法有些棘手。在此方法中,可以借助给定的语法以编程方式设置TextBox的ScrollBars属性:

public System.Windows.Forms.ScrollBars ScrollBars { get; set; }

在这里,ScrollBars表示ScrollBars枚举值,该值指示是否显示多行TextBox控件时不包含滚动条,水平滚动条,垂直滚动条,或两者都不显示。如果分配给属性的值不在枚举的有效值范围内,则它将引发InvalidEnumArgumentException。以下步骤用于设置TextBox的ScrollBars属性:

  • 步骤1:使用TextBox类提供的TextBox()构造函数创建一个文本框。
    // Creating textbox
    TextBox Mytextbox = new TextBox();
    
  • 步骤2:创建TextBox之后,设置TextBox类提供的TextBox的ScrollBars属性。
    // Set ScrollBars property
    Mytextbox.ScrollBars = ScrollBars.Vertical;
    
  • 第3步:最后使用Add()方法将此文本框控件添加到中。
    // Add this textbox to form
    this.Controls.Add(Mytextbox);
    

    例子:

    using System;
    using System.Collections.Generic;
    using System.ComponentModel;
    using System.Data;
    using System.Drawing;
    using System.Linq;
    using System.Text;
    using System.Threading.Tasks;
    using System.Windows.Forms;
      
    namespace my {
      
    public partial class Form1 : Form {
      
        public Form1()
        {
            InitializeComponent();
        }
      
        private void Form1_Load(object sender, EventArgs e)
        {
            // Creating and setting the properties of Lable1
            Label Mylablel = new Label();
            Mylablel.Location = new Point(96, 54);
            Mylablel.Text = "Introduction";
            Mylablel.AutoSize = true;
            Mylablel.BackColor = Color.LightGray;
      
            // Add this label to form
            this.Controls.Add(Mylablel);
      
            // Creating and setting the properties of TextBox1
            TextBox Mytextbox = new TextBox();
            Mytextbox.Location = new Point(187, 51);
            Mytextbox.BackColor = Color.LightGray;
            Mytextbox.ForeColor = Color.DarkOliveGreen;
            Mytextbox.Height = 100;
            Mytextbox.Width = 200;
            Mytextbox.Name = "text_box1";
            Mytextbox.Multiline = true;
            Mytextbox.ScrollBars = ScrollBars.Vertical;
      
            // Add this textbox to form
            this.Controls.Add(Mytextbox);
        }
    }
    }
    

    输出: