# -*- coding: utf-8 -*- """修 Designer.cs 集合块的局部变量重名:三个页签的 rtab1/rgrpA.. 按页加唯一前缀。""" import io import re P = r"C:\Users\099978\Documents\SharpDevelop Projects\成套报价软件\成套报价软件\MainForm.Designer.cs" s = io.open(P, encoding="utf-8-sig").read() start = s.find("\t\t\tSmart.CustomComponents.RibbonTab rtab1 = new") endmark = "\t\t\tthis.ribbonStrip1.TabIndex = 3;" end = s.find(endmark) assert start > 0 and end > start, "找不到集合块" block = s[start:end] # 按页签轮次分段:每轮以 new RibbonTab 开头 parts = re.split(r"(?=\t\t\tSmart\.CustomComponents\.RibbonTab rtab1 = new)", block) parts = [p for p in parts if p.strip()] assert len(parts) == 3, "期望 3 个页签块,实际 %d" % len(parts) prefixes = ["项目_", "报价_", "设置_"] out = [] for p, pre in zip(parts, prefixes): p = p.replace("rtab1", "rtab" + pre) # 组变量 rgrpA..D 每轮加页前缀 for g in ["A", "B", "C", "D"]: p = p.replace("rgrp" + g, "rgrp" + pre + g) out.append(p) s = s[:start] + "".join(out) + s[end:] io.open(P, "w", encoding="utf-8-sig").write(s) print("集合块变量改名完成: rtab项目_/rtab报价_/rtab设置_")