Uspio sam na kraju tako sto sam u EditValueChaning event dodao jedan array koji napunim podacima pa onda uradim clear item-a u onoj listi i stavim da je vrijednost item-a kojeg editujem = vrijednosti text boxa a ne iz niza... I to je ok.
Interesuje me oko event-a, mogu li recimo kad se izvrsava kod jednog eventa onemoguciti drugi privremeno, pa poslije ponovo omoguciti? pravi mi problem:
lbKonekcije_MouseCaptureChanged
Malo mi je tesko objasniti...
Zapravo bolje je da kôd stavim:
Kôd:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using DevExpress.XtraEditors;
namespace videotekasoft
{
public partial class frmConnection : DevExpress.XtraEditors.XtraForm
{
public frmConnection()
{
InitializeComponent();
}
private void btnNovakonekcija_Click(object sender, EventArgs e)
{
txtServerName.Text = "";
lbKonekcije.Items.Add("").ToString();
lbKonekcije.SelectedIndex = lbKonekcije.ItemCount;
txtServerName.Focus();
}
private void lbKonekcije_MouseCaptureChanged(object sender, EventArgs e)
{
txtServerName.Text = lbKonekcije.SelectedItem.ToString();
}
private void ckWin_CheckedChanged(object sender, EventArgs e)
{
// ako je oznaceno ne zeli upis username & pass
if (ckWin.Checked == true)
{
lblUserDB.Visible = false;
lblPassDB.Visible = false;
txtUserDB.Visible = false;
txtPassDB.Visible = false;
}
else // ako nije onda konekcija ima user & pass
{
lblUserDB.Visible = true;
lblPassDB.Visible = true;
txtUserDB.Visible = true;
txtPassDB.Visible = true;
}
}
private void txtServerName_EditValueChanging(object sender, DevExpress.XtraEditors.Controls.ChangingEventArgs e)
{
// podaci
int index = Convert.ToInt32(lbKonekcije.SelectedIndex);
int count = Convert.ToInt32(lbKonekcije.ItemCount);
// kreiraj niz i strpaj podatke u niz
string[] clanovi = new string[count];
for (int i = 0; i < count; i++)
{
clanovi[i] = lbKonekcije.Items[i].ToString();
}
// ocisti listu
lbKonekcije.Items.Clear();
// zavrti petlju gdje ce novi index biti vrijednosti koja se unosi u ovom textfieldu
// i popuni listu
for (int i = 0; i < count; i++)
{
if (i == index)
lbKonekcije.Items.Add(txtServerName.Text.ToString());
else if (i != index)
lbKonekcije.Items.Add(clanovi[i].ToString());
lbKonekcije.SelectedIndex = index;
}
}
}
}
kad dodam par item-a u listu i onda klikcem na njih, ne funkcionise kako treba...