私はここで何が間違っているのですか?穏やかな。
の場合CheckedListBox
、次を使用するだけでアイテムを更新できます。
private void button3_Click(object sender, EventArgs e)
{
checkedListBox4.Items.Add("whatever"); //or use an object
}
うまく機能しますが、私がやりたいのは、CheckedListItem
別のクラス内のメソッドからアイテムのセットを送信することです
class something:form1
だから、私は私が呼び出す/呼び出すメソッドを指すデリゲートを持つ別のものを設定しました
デリゲートは、次のように呼び出し/呼び出します。
public delegate void m_del(List<DirectoryInfo> ww, string rr);
コードの他の場所:
m_del methtouse = new m_del(listme)
public void listme(List<DirectoryInfo> fi, string mypath)
{
foreach (DirectoryInfo j in fi)
{
mypath = null; //mypath used by another method
try
{
NewCheckboxListItem cb1 = new NewCheckboxListItem();
cb1.Tag = j.Name;
cb1.Text = j.Name;
checkedListBox4.Items.Add(cb1);
}
catch (Exception w)
{
MessageBox.Show(w.Message);
}
}
}
public class NewCheckboxListItem
{
// define a text and
// a tag value
public string Text;
public string Tag;
// override ToString(); this
// is what the checkbox control
// displays as text
public override string ToString()
{
return this.Text;
}
}
methtouse( a List<DirectoryInfo> ww, a string rr)
{}
何が起こるかというと、のアイテムコレクションcheckedListBox4
が更新され、送信したのと同じ数の値がありますが、アイテムを描画しません\アイテムを表示します
checkedListBox4_datavaluememberchanged
メソッドと他のいくつかのイベントを呼び出してみcheckedListBox4_changed
ましたが、コレクション内のアイテムが更新されましたが、CheckedListBox
持っていないことと関係があると思いますeventargs
CheckedListBox
成功したものと失敗したもののすべての属性、イベント、プロパティを並べて比較する簡単な方法はありますかCheckedListBox
(プログラムで)
注:form1
クラスはが配置されている場所から継承しCheckedListBox
、メソッドaccessはpublicに設定されます。