이것은 첫 번째 게시물입니다. 89 개의 텍스트 상자가있는 C# 응용 프로그램을 만들고 있습니다. 텍스트 상자의 이름은 "Box #" 루프 내에서 텍스트 상자의 값을 어떻게 변경할 수 있습니까? 이 같은 뭔가를해야만 :C# 동적 양식 편집
for (int y = 0; y < 89; y++)
{
"Box"+y.Text = "somthing";
}
이것은 첫 번째 게시물입니다. 89 개의 텍스트 상자가있는 C# 응용 프로그램을 만들고 있습니다. 텍스트 상자의 이름은 "Box #" 루프 내에서 텍스트 상자의 값을 어떻게 변경할 수 있습니까? 이 같은 뭔가를해야만 :C# 동적 양식 편집
for (int y = 0; y < 89; y++)
{
"Box"+y.Text = "somthing";
}
당신은 단순히 (루프 VIA) 테스트를 조정 양식의 컨트롤의 Type
을 확인할 수 있습니다.
코드 스 니펫;
public Form1()
{
InitializeComponent();
ChangeTextBoxes();
}
public void ChangeTextBoxes()
{
foreach (var c in this.Controls.OfType<TextBox>())
{
c.Text = @"New Value";
}
}
희망이 있습니다.
당신이 "Box"
를 사용할 때 당신은 새로운 String
객체를 생성하고 있습니다. 내가 권장할만한 것은 귀하의 모든 TextBox
개체를 목록에 넣는 것입니다. Type
는 다음 TextBox
경우
List<TextBox> boxes = new List<TextBox>();
// Add all of your text boxes.
foreach (TextBox box in boxes) {
box.Text = "This will change the text";
}
'singleItem'은 어디에서 왔습니까? –
웁스! 내 잘못이야,. – christopher
보기 (자바 스크립트를 사용하여 클라이언트 측)에서 변경하는 경우 "eval()"함수를 사용하십시오. 이와 유사한
뭔가 : 프로그래밍 방식으로 텍스트 상자를 만들 경우
eval('Box' + count + '.Text = "'+newText+'";');
, 당신은 어떤이 당신에게 좋은 유지 보수 기능을 줄 것이라고하는 DataTable
자신의 Text
속성을 바인딩 할 수 있습니다 :
DataTable _tbValues;
private void Form1_Load(object sender, EventArgs e)
{
_tbValues = new DataTable();
string[] cells = new string[89];
for (int i = 0; i < 89; i++)
{
_tbValues.Columns.Add(String.Format("Box{0}", i));
var tb = new TextBox();
tb.Name = String.Format("Box{0}", i);
tb.DataBindings.Add("Text", _tbValues, String.Format("{0}", tb.Name));
tb.Top = i * 20;
this.Controls.Add(tb);
}
_tbValues.Rows.Add(cells);
}
private void button1_Click(object sender, EventArgs e)
{
_tbValues.Rows[0].ItemArray = Enumerable
.Repeat(DateTime.Now as object, _tbValues.Columns.Count)
.ToArray();
_tbValues.AcceptChanges();
}
WPF , Windows 양식 또는 웹? – SWeko
어떻게 이러한 텍스트 상자를 삽입합니까? –
텍스트 상자는 얼마나 동적입니까? WYSIWYG 편집기를 통해 이들 모두를 배치하는 경우 엄격한 디자인 정책을 적용하기 때문에 각 텍스트 상자를 이름으로 참조하는 것이 좋습니다. – rhughes