[過去ログ] ふらっと C#,C♯,C#(初心者用) Part141 (1002レス)
前次1-
抽出解除 必死チェッカー(本家) (べ) 自ID レス栞 あぼーん

このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
リロード規制です。10分ほどで解除するので、他のブラウザへ避難してください。
15
(4): デフォルトの名無しさん [sage] 2019/03/08(金) 21:09:46 ID:unDD4xx5(1/3) AAS
ドラッグドロップって面倒臭いな。糞サンプル書いてみた

public Form1()
{
  InitializeComponent();
  listBox1.Items.AddRange(GetWebColors().Cast<object>().ToArray());
  pictureBox1.AllowDrop = true;
}

private Color? mDataToDrop;

static IEnumerable<Color> GetWebColors()
{
  foreach (PropertyInfo info in typeof(Color).GetProperties(BindingFlags.Public | BindingFlags.Static))
    yield return (Color)info.GetValue(null, null);
}

private void listBox1_MouseDown(object sender, MouseEventArgs e)
{
  if (e.Button != MouseButtons.Left) return;
  var index = listBox1.IndexFromPoint(e.Location);
  if (index < 0) return;
  mDataToDrop = (Color)listBox1.Items[index];
}
16
(1): デフォルトの名無しさん [sage] 2019/03/08(金) 21:10:55 ID:unDD4xx5(2/3) AAS
private void listBox1_MouseMove(object sender, MouseEventArgs e)
{
  if (!e.Button.HasFlag(MouseButtons.Left)) mDataToDrop = null;
  if (mDataToDrop != null)
    listBox1.DoDragDrop(mDataToDrop, DragDropEffects.All);
}

private void pictureBox1_DragDrop(object sender, DragEventArgs e)
{
  var color = e.Data.GetData(typeof(Color)) as Color?;
  if (color != null) pictureBox1.BackColor = color.Value;
}

private void pictureBox1_DragOver(object sender, DragEventArgs e)
{
  e.Effect = DragDropEffects.Copy;
}
17: デフォルトの名無しさん [sage] 2019/03/08(金) 21:13:48 ID:unDD4xx5(3/3) AAS
>>15を書いてて疑問に思ったんだが、ListBoxってマウスがキャプチャーされないのか?
ListBoxのクライアント領域の外でマウスのボタンを離してもMouseUpが発生しないけど何なのこれ。
変だよね?
前次1-
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル

ぬこの手 ぬこTOP 0.041s