VB.NET中如何在TextBox每一行末尾添加指定文本?
Hey there! Let's figure out how to solve this problem. The core idea is to split the multiline content from TextBox1 into individual lines, append the suffix from TextBox2 to each line, then join them back into a single block of text. Below are solutions for some common frameworks/languages you might be working with:
First, ensure your TextBox1 has the Multiline property set to true. Then you can use this code snippet to get the desired result:
// Extract all lines from TextBox1 string[] lines = textBox1.Lines; // Grab the suffix from TextBox2 string suffix = textBox2.Text; // Loop through each line to append the suffix for (int i = 0; i < lines.Length; i++) { // Optional: Skip empty lines to avoid adding suffix to blank entries if (!string.IsNullOrEmpty(lines[i])) { lines[i] += suffix; } } // Update TextBox1 with the modified lines (or use another TextBox to preserve original content) textBox1.Lines = lines;
Pro tip: If you want to keep the original content of TextBox1 intact, assign the modified lines array to a different TextBox control instead (like textBox3.Lines = lines;).
If you're working with a UserForm in Excel or Access, here's a straightforward approach:
Sub AppendSuffixToTextBoxLines() Dim originalLines As Variant Dim suffix As String Dim i As Integer ' Split TextBox1 content into lines using Windows line breaks originalLines = Split(UserForm1.TextBox1.Text, vbCrLf) suffix = UserForm1.TextBox2.Text ' Iterate through each line and add the suffix For i = LBound(originalLines) To UBound(originalLines) ' Skip empty lines if needed If originalLines(i) <> "" Then originalLines(i) = originalLines(i) & suffix End If Next i ' Join lines back and update the TextBox UserForm1.TextBox1.Text = Join(originalLines, vbCrLf) End Sub
Note: vbCrLf is the standard line break for Windows systems. If you're on a different platform, you might need to use vbLf instead.
For those using Tkinter (Python's built-in GUI library), here's how to handle multiline Text widgets and single-line Entry widgets:
import tkinter as tk def append_suffix_to_lines(): # Get all content from the multiline TextBox1 content = text_box1.get("1.0", tk.END) # Get the suffix from TextBox2 (Entry widget) suffix = entry_box2.get() # Split content into lines, removing trailing empty lines lines = content.strip().split("\n") # Create modified lines (skip empty lines to avoid unnecessary suffixes) modified_lines = [line + suffix for line in lines if line.strip()] # Clear the original content and insert the updated lines text_box1.delete("1.0", tk.END) text_box1.insert("1.0", "\n".join(modified_lines)) # Example GUI setup (adjust to your existing form) root = tk.Tk() text_box1 = tk.Text(root, height=5, width=30) text_box1.pack(pady=5) entry_box2 = tk.Entry(root) entry_box2.insert(0, "@gmail.com") entry_box2.pack(pady=5) submit_btn = tk.Button(root, text="Append Suffix", command=append_suffix_to_lines) submit_btn.pack(pady=5) root.mainloop()
Optional: If you want to include empty lines with the suffix, remove the if line.strip() check from the list comprehension.
内容的提问来源于stack exchange,提问作者Daniel André

