2010-11-22 2 views
0

아이디어는 항목이있는 목록 상자가 있고 목록의 중간에있는 항목을 수정하려고한다고합니다. 해당 항목을 선택하고 "수정"버튼을 클릭하면 텍스트 상자에서 수정할 수있는 첫 번째 양식의 이전에 선택한 항목 데이터가있는 새 양식이 나타납니다. 수정 및 확인을 클릭 한 후 두 번째 폼은 수정 된 문자열을 첫 번째 폼으로 반환하고 수정 된 문자열을 원래 선택한 항목 대신 동일한 지점에 삽입하여 사용자에게 편집 된 것처럼 보입니다.[VB.NET] 다른 양식의 특정 문자열을 다른 양식의 목록 상자에 추가하는 방법은 무엇입니까?

+0

기본적으로 새 값을 입력하기 위해 새 양식을 열어 목록 상자에서 선택한 항목을 수정 하시겠습니까? –

+0

예. – JohnnyCake

+0

을 제외하고 문자열은 split()되고 두 번째 양식의 별도의 텍스트 상자에 배치됩니다. 그런 다음 수정 된 값을 join()하여 첫 번째 형식으로 단일 문자열로 반환하고 목록 상자의 원래 항목으로 바꿉니다. – JohnnyCake

답변

1

편집 : 내 자신의 기억을 상기하는 실제 VB.NET 코드 의사 코드 번역 : D

string = InputBox("Enter text") 
// Do whatever you want with the string 
x = listBox.SelectedIndex 
listBox.Items(x) = string 

당신은 너무 Text 대신에 Content을 시도 할 수 있습니다.

+0

감사하지만이 방법은 한 줄의 텍스트에만 유용합니다. 그것은 배열의 Split()을 사용하여 split bring을 적용해야하고 원래 항목 대신 두 번째 형식의 텍스트 상자에 배치되고 반대의 경우는 반대입니다. – JohnnyCake

+0

그런 다음'InputBox()'에서 반환 된 문자열을 변수, Split()에 저장하고, 올바른 위치에 넣고, 필요하다면 수정하고, 'Join()'하거나 원하는 작업을 수행합니다 . –

+0

알겠습니다. 그러나 나를 위해 SelectedItem에 대한 Text 속성은 없습니다. – JohnnyCake

0

팝업되는 양식이 모달인지 확인하십시오. 다음은 할 수있는 일의 간단한 예입니다. (이것은 당신의 목록 상자 항목 문자열 가정 및 세 개의 목록 상자 항목까지 편집 한 예이다. 목록이 훨씬 더 큰 될 것입니다 다른 아키텍처를 추구 할됩니다.)

Private Sub Form2_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load 

    Dim intTextboxCounter As Integer = 0 
    For Each i As Integer In Form1.ListBox1.SelectedIndices 

     Select Case intTextboxCounter 
      Case 0 
       TextBox1.Text = Form1.ListBox1.Items(i) 
      Case 1 
       TextBox2.Text = Form1.ListBox1.Items(i) 
      Case 3 
       TextBox3.Text = Form1.ListBox1.Items(i) 
     End Select 

     intTextboxCounter += 1 

    Next 

End Sub 

이 부하 선택한 목록 항목을 회전하여 텍스트 상자에 값을 넣습니다. 값을 업데이트하려면 ...

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click 

    Dim intTextboxCounter As Integer = 0 
    For Each i As Integer In Form1.ListBox1.SelectedIndices 

     Select Case intTextboxCounter 
      Case 0 
       Form1.ListBox1.Items(i) = TextBox1.Text 
      Case 1 
       Form1.ListBox1.Items(i) = TextBox2.Text 
      Case 2 
       Form1.ListBox1.Items(i) = TextBox3.Text 
     End Select 

    Next 

End Sub 
관련 문제