안녕하세요 저는 Windows 메모장과 유사한 메모장을 만들려고합니다. 필자는 메모장에서와 같이 찾기 상자에서 검색된 텍스트를 찾고 모든 텍스트가있는 텍스트 상자가있는 부모 창에서 선택한 텍스트를 표시하려는 상황에 처해 있습니다.하위 창을 사용하여 부모 창에서 텍스트 상자 내용을 검색하는 방법?
부모 창에서 검색된 텍스트에 액세스하기 위해 메서드를 정적으로 만들려고했습니다. 는 여기에 대한 코드입니다 :
namespace NotePadApp
{
public partial class Find : Form
{
static string SearchText="";
static Find Findbox;
static Find Findbox;
public static string GetSearchText()
{
Findbox = new Find();
Findbox.ShowDialog();
return SearchText;
}
}}
내가 정적 메소드 GetSearchText을()에 액세스 할 수있게되었습니다.
하지만 Find (child) 창을 닫을 때만 해당 텍스트가 검색됩니다.
그래서 부모 창에있는 내용의 창을 사용하여 텍스트를 검색하는 사용자가 자식 창을 열도록하고 싶습니다.
왜 텍스트 보 x에서 ctor? 또는 쇼 대화 상자를 호출하기 전에 그것을 인스턴스화 한 후에 필드에 설정합니까? 아니면 내가 너를 오해 했니? –
childwindow의 입력란에 의해 검색 결과가 parentwindow의 텍스트 상자에 반영되기를 원합니다. Windows 메모장처럼. 따라서 Constructor를 전달하는 것은 부모 윈도우의 현재 인스턴스에 대한 실시간 변경을 반영하지 않습니다. 그렇지 않습니까? 나는 부모의 자식 관계를 시도하고 있는데, 부모의 현재 인스턴스를 자식에게 전달하여 작동하는지 확인하게한다. – user2432715
"하지만 Find (child) 창을 닫을 때만 텍스트가 검색됩니다." ** Show() ** 대신 ShowDialog()를 사용하십시오[email protected]가 지적했듯이 "부모"양식에 대한 참조가 필요하므로 작업 할 수 있습니다. –