zoukankan      html  css  js  c++  java
  • 查找和替换

    using System;
    using System.Collections.Generic;
    using System.ComponentModel;
    using System.Data;
    using System.Drawing;
    using System.Text;
    using System.Windows.Forms;
    
    namespace 对话框
    {
        public partial class Form2 : Form
        {
    
            public Form2()
            {
                InitializeComponent();//初始化窗体组件
            }
            private Form1 jieshou;
            public Form2(Form1 form1)//构造函数,接收Form1窗体
            {
                // TODO: Complete member initialization
                InitializeComponent();
                jieshou = form1;
            }
            private int a = -1;
            private int index;
            private int xuanzhong = 1;
            /// <summary>
            /// 查找函数
            /// </summary>
            public void chazhao(string cztxt)
            {
                
                if (xuanzhong == 1)//选择向上查找
                {
                    if (a == -1)//初始值,第一次点击查找
                    {
                        //查询cztxt在文本中的索引,也是为了判断文本中是否包含cztxt,如果查询不到
                        //indexof返回值为-1
                        index = jieshou.textBox1.Text.IndexOf(cztxt);
                        if (index != -1)//在不等于-1的情况下执行,也就是文本中包含cztxt
                        {
                            jieshou.textBox1.Select(index, cztxt.Length);
                            jieshou.textBox1.Focus();//为控件设置输入焦点,也就是聚焦显示选中的文本
                            a = index + 1;//索引加1,从匹配的第一个实例的下一位开始查询
                        }
                    }
                    else
                    {
                        if (a + cztxt.Length < jieshou.textBox1.Text.Length-1)//为了保证查询的cztxt的长度没有超出
                        {
                            //查询cztxt在文本中的索引,也是为了判断文本中是否包含cztxt,如果查询不到
                            //indexof返回值为-1
                            index = jieshou.textBox1.Text.IndexOf(cztxt, a);
                            if (index != -1)
                            {
                                jieshou.textBox1.Select(index, cztxt.Length);
                                a = index + 1;
                            }
                        }
                        if (index==-1)
                        {
                            a = -1;//直到查询不到cztxt,把a初始化 从新开始查
                        }
                    }
                }
                else//选择向下查询
                {
                    
                    if (a == -1)
                    {
                        //查询cztxt在文本中的索引,也是为了判断文本中是否包含cztxt,如果查询不到
                        //indexof返回值为-1
                        index = jieshou.textBox1.Text.LastIndexOf(cztxt);
                        if (index != -1)
                        {                     
                            jieshou.textBox1.Select(index, cztxt.Length);
                            jieshou.textBox1.Focus();
                            a = index - 1;//索引减1,从匹配的第一个实例的上一位开始查询
                        }
                    }
                    else
                    {
                        if (a-cztxt.Length>=-1)
                        {
                            //查询cztxt在文本中的索引,也是为了判断文本中是否包含cztxt,如果查询不到
                            //indexof返回值为-1
                            index = jieshou.textBox1.Text.LastIndexOf(cztxt, a);
                            if (index != -1)
                            {                           
                                jieshou.textBox1.Select(index, cztxt.Length);
                                a = index - 1;//索引减1,从匹配的第一个实例的上一位开始查询
                            }
                        }
                        if (index==-1)
                        {
                            a = -1;//直到查询不到cztxt,把a初始化 从新开始查
                        }
                    }
                }
                jieshou.textBox1.Focus();//为控件设置输入焦点,也就是聚焦显示选中的文本
                
            }
            
            private void button1_Click_1(object sender, EventArgs e)
            {
                string cztxt = textBoxchazhao.Text;
                chazhao(cztxt);
            }
            
            private void xiangshang_CheckedChanged(object sender, EventArgs e)
            {
                xuanzhong = 1;//向上查询初值
            }
    
            private void xiangxia_CheckedChanged(object sender, EventArgs e)
            {
                xuanzhong = 2;//向下查询初值
            }
    
            private void button2_Click(object sender, EventArgs e)//替换
            {
                string cztxt = textBoxchazhao.Text;
                if (jieshou.textBox1.Text.Contains(cztxt))//判读文本中是否包含cztxt
                {
                    chazhao(cztxt);
                    //把选中的字符串替换掉
                    jieshou.textBox1.SelectedText = textBoxtihuan.Text;
                    jieshou.textBox1.Focus();
                }
            }
            /// <summary>
            /// 替换全部
            /// </summary>
            /// <param name="sender"></param>
            /// <param name="e"></param>
            private void button3_Click(object sender, EventArgs e)
            {
                while (true)
                {
                    string cztxt = textBoxchazhao.Text;
                    if (jieshou.textBox1.Text.Contains(cztxt))//判读文本中是否包含cztxt
                    {
                        chazhao(cztxt);
                        //把选中的字符串替换掉
                        jieshou.textBox1.SelectedText = textBoxtihuan.Text;
                        jieshou.textBox1.Focus();
                    }
                    else//不包含cztxt就跳出循环
                    {
                        break;
                    }
                }
            }
        }
    }
  • 相关阅读:
    [转载] Calculating Entropy
    Android Studio apk 文件路径
    [转载]网站建设公司赚钱的案例分析
    写essay和research paper必用的17个网站
    how to use javap command
    How To Create a Personal Balance Sheet
    Top 10 Universities for Artificial Intelligence
    卡内基梅隆大学如何培养计算机博士
    Java Inner Classes
    End of HTML blink tag
  • 原文地址:https://www.cnblogs.com/happinesshappy/p/4542645.html
Copyright © 2011-2022 走看看