私は小さなアプリケーションを開発しています。君の力が必要。GUIでC#のマルチスレッドアプローチ
私は10列のテーブルを持っています。言う、私はリストビューで5行を選択します。 col_1のすべての値を取得し、リスト内でメソッドに渡します。
すべての値が等しい場合は、combo_box1 value = "equal"、else value = "not equal"と設定します。
現在のアプローチ:
私は10本のリストを持っている(かなりラメようだ...それはない私は、このに関するQUESを求めていた...?)、各COLについて1。
10値の等しいかどうかをチェックするメソッドを1つのリストに対して呼び出します。その後、コンボボックス(10コンボボックス)の値を設定します。
もし私が100のレコードを持っているとすれば、時間がかかると思います。だから、私はスレッドを実装すると思った。入れ
努力:
私はメインスレッドのコントロールにアクセスしようとしたスレッドのthis.Invoke(新しい委任...)アプローチを使用しています。それはうまく動作します。私は自分の必要に応じてこれを操作しようとしました。それはできませんでした。みんなを助けてください。
[EDIT]
主犯はあるコード... 私は、すべての画像を保存しています(と言う...その...は以下を完了するために恐ろしく長い時間をかけて画像比較しましたCOL NO 3)リスト中の10行...
// other stuffs [DllImport("msvcrt.dll", CallingConvention=CallingConvention.Cdecl)] private static extern int memcmp(IntPtr b1, IntPtr b2, long count);
// create a list of images MemoryStream imageStream = new MemoryStream(tempImage.Data.Data); Bitmap artCoverImage = new Bitmap(imageStream); // culprit ? artCoverList.Add(artCoverImage);
// call the method CheckIfEqual(artCoverList) // culprit ?
// THE method private void CheckIfEqual(artCoverList) { Bitmap tempBitMap = artCoverList[0];
foreach (Bitmap bmp in artCoverList) { if (bmp == null) return false; if (bmp.Size != tempBitMap.Size) return false; var bd1 = tempBitMap.LockBits(new Rectangle(new Point(0, 0), tempBitMap.Size), ImageLockMode.ReadOnly, PixelFormat.Format32bppArgb); IntPtr bd1scan0 = bd1.Scan0; int stride = bd1.Stride; long len = stride * tempBitMap.Height; var bd2 = bmp.LockBits(new Rectangle(new Point(0, 0), bmp.Size), ImageLockMode.ReadOnly, PixelFormat.Format32bppArgb); IntPtr bd2scan0 = bd2.Scan0; returnValue = memcmp(bd1scan0, bd2scan0, len) == 0; bmp.UnlockBits(bd2); tempBitMap.UnlockBits(bd1); } }
が、私はこの部分の画像比較が作業を取得するために一日を過ごしていた...私はそれはMEMの変換部分を考えると言いませんストリームをbmpに犯人は...
ある[EDIT 2]
男...あなたの助けを必要と...任意のアイデアを...上記以外の画像の一覧を...比較する方法..ねじ切り設計を実装する。
おかげで、
のDev
最初に、何をやっているかによって、レコードを100に増やしても、それほど大きな違いはありません。次に、より多くの情報が必要です。どうやってスレッドコールを操作しようとしましたか?スレッドはどのくらい正確に動作しますか? –
ものが増える可能性のある列の数です...私は3つのスレッドを...それぞれの3つの列を処理するように呼び出したいと思います... – Dev