2009-03-13 3 views
1

에 사용할 양식 컨트롤은 vb.net (Windows 양식)에서 작은 대화 응용 프로그램을 수행 할 때 내 대화방 디자인에 문제가 있습니다. 사용자가 메시지를 보낸 사람을 표시하는 사용자 이름이 아니라 복사 할 수 있도록 텍스트 메시지를 선택 가능하게하고 싶습니다. 이 작업을 수행하기 위해 사용해야하는 양식 컨트롤과 그로부터 변경할 속성은 무엇입니까? 고맙습니다. 또한 사용자 이름과 메시지가 올바르게 정렬되어야 함을 명심하십시오.채팅 상자 (.net)

+0

왜 그게 좋을까요? 모든 대화방에서 사용자 이름을 선택할 수 있으므로 대화를 선택할 때 유용합니다. 그래서 누가 무엇을 말했는지 알 수 있습니다 :) – Stormenet

답변

5

캐치에서 Ctrl + C 및 사용자 이름 선택한 텍스트를 분석하고

1

음, 여기 정말 멋진 아이디어 (어쩌면 당신은 표준 텍스트 복사 붙여 넣기를 방지 할 수 있습니다 어떤 사용자 이름 이미지를 만들 수 있습니다) 그들에게

삭제 그러나 나는 그것이 당신을 위해 일할 것인지 아닌지를 아는 당신의 요구 사항에 대해 충분히 알지 못합니다. 우선 채팅 응용 프로그램을 사용하고 있다면 메시지를 클릭하고 클립 보드에 복사 할 수 있습니다. 결국, 나는 메시지를 클릭해야 할 다른 것을 생각할 수 없다. 따라서 메시지 위로 마우스를 가져 가면 강조 표시되고 클릭하면 복사됩니다.

상황에 따라 문제가 해결되면 문제를 해결하는 방법이 있습니다. 나는 Label을 사용하여 메시지를 보낸 사용자 이름과 메시지 자체를 보여주는 읽기 전용 텍스트 상자를 사용할 수 있다고 생각합니다. 새 메시지가 채팅에 추가 될 때마다 새 레이블과 새 텍스트 상자를 삽입합니다 (이러한 컨트롤을 페이지의 컨트롤 컬렉션에 추가 함). 아마도 div에 레이블과 텍스트 상자를 래핑해야하므로 마우스를 올리면 전체 div를 강조 표시 할 수 있습니다.

이제 어떻게 메시지의 텍스트를 클립 보드로 복사 할 수 있습니까? 자바 스크립트가 필요할 것입니다. JavaScript 라이브러리를 사용하는 경우 제공되는 내용을 참조하십시오. 그렇지 않은 경우 다음 링크가 있습니다. 자바 스크립트 코드는 텍스트 상자의 내용 만 가져와야합니다. 텍스트 상자의 내용은 올바른 CSS 클래스 또는 올바른 ID를 찾음으로써 수행 할 수 있습니다. 그리고, 이러한 링크에 설명 된대로 클립 보드에 텍스트를 복사

Javascript for copying to clipboard

A 2nd link about Javascript for copying to clipboard

A 3rd link about Javascript for copying to clipboard

A 4th link about Javascript for copying to clipboard

그런데, 어쩌면 당신은 사용자 요구 사항을 많은 메시지의 텍스트를 선택할 수 있어야합니다. 이 경우 메시지를 클릭하면 "선택"되고 배수를 선택할 수 있습니다. 그런 다음 "모든 선택된 메시지 복사"버튼이 있습니다. 이것이 처리하지 않는 유일한 방법은 메시지의 텍스트 일부를 선택하는 것입니다. 따라서 귀하의 필요에 부합하거나 옳지 않을 수 있습니다.

3

DataGridView 컨트롤 사용에 대해 생각해 보셨습니까?

사용자 이름과 메시지에 대해 별도의 열을 가질 수 있으며 메시지 열에서만 복사 할 수 있습니다.

DataGridView 컨트롤은 요즘 매우 강력하며 원하는대로 모양을 사용자 지정할 수 있습니다. 예를 들어 눈금 선을 숨기면 텍스트 상자처럼 보이게됩니다.

여기 저기 팁과 힌트가 있지만 this page은 눈금 선 색상을 변경하는 방법을 보여줍니다.

0

두 개의 텍스트 상자를 선택하고 두 명의 서로 다른 사용자의 사용자 이름과 암호를 확인하고 메시지를 보려면 목록 상자를 사용하여 코드에서 사용자 간 채팅에 소켓 연결을 엽니 다.

관련 문제