treeview den listview komponentine drag drop yontemiyle kayıt aktarmak istiyorum
ancak
aşağıdaki kodda ind değeri her zaman null değerini döndürüyor
neyi yanlıs yapıyorum?
tşkler
private void listView1_DragDrop(object sender, DragEventArgs e)
{
Point cp = listView1.PointToClient(new Point(e.X,e.Y));
ListViewItem ind = listView1.GetItemAt(cp.X, cp.Y);
if (ind == null)
{
MessageBox.Show(" null");
return;
}
..................
}
GetItemAt herzaman null değeri döndüyor
Re: GetItemAt herzaman null değeri döndüyor
çok anladığım bir konu değil ama buradaki sanırım TreeView olmalı.
Kod: Tümünü seç
ListViewItem ind = listView1.GetItemAt(cp.X, cp.Y);
Bilgiyi paylaşarak artıralım! Hayatı kolaylaştıralım!!
Re: GetItemAt herzaman null değeri döndüyor
e.Data.Getdata() fonksiyonunda Treenode tipi yok typeof ile typeını alırsınız daha sonra zaten listView e eklemek kalıyor.
Aşağıda tam kod var.Kolay gelsin.
if (e.Data.GetDataPresent(typeof(TreeNode)))
{
TreeNode tn = (TreeNode)e.Data.GetData(typeof(TreeNode));
listView1.Items.Add(tn.Text, tn.ImageIndex);
treeView1.Nodes.Remove(tn);
}
Aşağıda tam kod var.Kolay gelsin.
if (e.Data.GetDataPresent(typeof(TreeNode)))
{
TreeNode tn = (TreeNode)e.Data.GetData(typeof(TreeNode));
listView1.Items.Add(tn.Text, tn.ImageIndex);
treeView1.Nodes.Remove(tn);
}
derviş
Re: GetItemAt herzaman null değeri döndüyor
Benim de benzer bir sorunum var.
CSV dosyayı form üzerine sürükleyip açtırıp içindekileri db ye aktarma işimiz var. Kodlar çalışıyor ama işlem bittikten sonra tekrar aynı işi yapıyor (sadece 2 defa) nerede hata yapıyorum
CSV dosyayı form üzerine sürükleyip açtırıp içindekileri db ye aktarma işimiz var. Kodlar çalışıyor ama işlem bittikten sonra tekrar aynı işi yapıyor (sadece 2 defa) nerede hata yapıyorum
Kod: Tümünü seç
public Form1()
{
InitializeComponent();
this.dgv1.DragDrop += new
System.Windows.Forms.DragEventHandler(dgv1_DragDrop);
this.dgv1.DragEnter += new
System.Windows.Forms.DragEventHandler(dgv1_DragEnter);
}
private void dgv1_DragEnter(object sender, DragEventArgs e)
{
if (e.Data.GetDataPresent(DataFormats.FileDrop))
e.Effect = DragDropEffects.All;
else
e.Effect = DragDropEffects.None;
}
private void dgv1_DragDrop(object sender, DragEventArgs e)
{
string[] s = (string[])e.Data.GetData(DataFormats.FileDrop, false);
csvyolu = s[0];
btnCsvSec_Click(this.dgv1, EventArgs.Empty);
}
private void btnCsvSec_Click(object sender, EventArgs e)
{
if (sender == dgv1) // eğer drag drop işlemiyle olacaksa
{
if (csvyolu!="")
{
Of1.FileName = csvyolu;
} else
{
return;
}
csvyolu = "";
}
else // eğer dosya seçme butonuyla yapılırsa
{
Of1.InitialDirectory = Application.StartupPath + "\\csv";
if (Of1.ShowDialog() != DialogResult.OK)
{ return; }
}
FileInfo gf = new FileInfo(Of1.FileName);
cmb1UrunTuru.Text = gf.Name.Replace(".csv", "");
.....................