2011-07-24 17 views
0

いくつかのデータをダウンロードするアプリケーションがあり、そのデータをlistViewに表示したいとします。 deafault MFCによって、私はいくつかのコード、ネームスペース、およびそのlistViewを持つクラスを示しています。このリストビューコードはどこに置く必要がありますか?

に対処し、変更することがこのようなものをダウンロードするメイン、そしてどのように私の機能をどこに置くか

int main(array<System::String ^> ^args) 
{ 
    Application::EnableVisualStyles(); 
    Application::SetCompatibleTextRenderingDefault(false); 

    // Hauptfenster erstellen und ausführen 
    Application::Run(gcnew Form1()); 

    return 0; 
} 

わからない。:このコードでメインで別々のcppファイルにもありますメインの内部では動作しません:

Form1->listView1->Text = "asdasdasdasd" 

答えて

1

これはMFCではなく、これはWindowsフォームのC++/CLIです。 Form1のイベントハンドラにコードを配置する必要があります(Loadイベントハンドラなど)。デザインビューでForm1をダブルクリックしてイベントハンドラを作成し、そこでコードを配置します。

ボタンのイベント(たとえば、[ダウンロード]ボタンを追加してClickイベントを処理するなど)を処理し、バックグラウンドスレッドを使用することで、プログラムロジックを改善できます。しかし、最初のステップでは、Form.Loadイベントを試してみてください。

+0

私はそれをテストしました、それは私がそれがフォームをロードして、常にダウンロードして変更する関数を実行したいとは思っていませんでした。リストビュー – TasostheGreat

+1

@Tasos Papanikolaou - これはバックグラウンドスレッドタスクのようです。 Form.Loadイベントハンドラでバックグラウンドスレッドを開始し、Control.BeginInvokeメソッドを使用してUIを更新します。 BackgroundWorkerクラスをチェックしてください。 –

0

迅速な解決策:

Form1 theForm = gcnew Form1(); 
theForm->listView1->Text = "Text here"; 
Application::Run(theForm); 

しかし、あなたは(Loadイベントのような)Formのイベントの一つで同じことを実装する必要があります。

関連する問題