GetItemAt herzaman null değeri döndüyor

C# (C Sharp) veya Java ile ilgili konuları buraya yazabilirsiniz.
Cevapla
filiz
Üye
Mesajlar: 82
Kayıt: 24 Ara 2003 08:11
Konum: İzmir

GetItemAt herzaman null değeri döndüyor

Mesaj gönderen filiz »

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;
}
..................
}
Kullanıcı avatarı
rsimsek
Admin
Mesajlar: 4482
Kayıt: 10 Haz 2003 01:48
Konum: İstanbul

Re: GetItemAt herzaman null değeri döndüyor

Mesaj gönderen rsimsek »

ç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!!
unalaygun
Üye
Mesajlar: 139
Kayıt: 27 Mar 2004 12:34
Konum: istanbul

Re: GetItemAt herzaman null değeri döndüyor

Mesaj gönderen unalaygun »

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);
}
derviş
varyemez
Üye
Mesajlar: 262
Kayıt: 01 Oca 2009 11:00
Konum: Bursa
İletişim:

Re: GetItemAt herzaman null değeri döndüyor

Mesaj gönderen varyemez »

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

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", "");
.....................

Cevapla