Почему форма висит на входе фокуса ?
привет,
у меня xtraform (на управление филиалом ), который содержит несколько входов и GridView.
после загрузки формы я могу сфокусировать любой ввод (пример:- CodeInput.Текст )без проблем. но когда я нажимаю кнопку EditGridbtnREP , входные данные заполнены данными.
пожалуйста, обратите внимание: существует связь между ad_branches таблица и многие другие таблицы.
когда я снова фокусирую какие-либо входы , форма зависает и занимает 2-3 минуты. откликнуться.
using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Text; using System.Linq; using System.Threading.Tasks; using System.Windows.Forms; using DevExpress.XtraEditors; using DevExpress.XtraSplashScreen; using MrSales.MrSLanguages; using MrSales.MrSModels; using System.Data.Entity; using System.Runtime.InteropServices; namespace MrSales.MrSViews.CompanyConfig { public partial class ManageBranches : DevExpress.XtraEditors.XtraForm { public int ID = 0; public ManageBranches() { SplashScreenManager.CloseForm(false); SplashScreenManager.ShowForm(this, typeof(waitForm), true, true, false); try { SplashScreenManager.Default.SetWaitFormDescription(strings.Creating_basic_components); } catch { } InitializeComponent(); mrsalesdbEntities dbContext = ConnectionTools.OpenConn(); try{ SplashScreenManager.Default.SetWaitFormDescription(strings.loading_branches_list); } catch { } ad_branchesBindingSource.DataSource = dbContext.ad_branches.ToList(); try { SplashScreenManager.Default.SetWaitFormDescription(strings.LOADING_company_data); } catch { } ad_company_dataBindingSource.DataSource = dbContext.ad_company_data.Local.ToBindingList(); try { SplashScreenManager.Default.SetWaitFormDescription(strings.loading_Countries_Cities); } catch { } ad_countryBindingSource.DataSource = dbContext.ad_country.ToList(); ad_cityBindingSource.DataSource = dbContext.ad_city.ToList(); } //to drag form const int HT_CAPTION = 0x2; const int WM_NCLBUTTONDOWN = 0xA1; [DllImportAttribute("user32.dll")] public static extern int SendMessage(IntPtr hWnd, int Msg, int wParam, int lParam); [DllImportAttribute("user32.dll")] public static extern bool ReleaseCapture(); private void ManageBranches_Load(object sender, EventArgs e) { SplashScreenManager.Default.SetWaitFormDescription(strings.loading_interface); //Func to Load All Basic And Requires Design Varibles MrSControls.FormLoad.PublicDesign(this); CompanyInput.EditValue = 1; SplashScreenManager.CloseForm(false); } private void CloseFrmBtn_Click(object sender, EventArgs e) { this.Close(); } private void HeaderPanel_MouseDown(object sender, MouseEventArgs e) { if (e.Button == MouseButtons.Left) { ReleaseCapture(); SendMessage(Handle, WM_NCLBUTTONDOWN, HT_CAPTION, 0); } } private void EditGridbtnREP_ButtonClick(object sender, DevExpress.XtraEditors.Controls.ButtonPressedEventArgs e) { ID = Convert.ToInt32(gridView1.GetRowCellValue(gridView1.FocusedRowHandle, "branche_ID")); CompanyInput.EditValue = Convert.ToInt32(gridView1.GetRowCellValue(gridView1.FocusedRowHandle, "comp_ID")); CodeInput.Text = Convert.ToString(gridView1.GetRowCellValue(gridView1.FocusedRowHandle, "branche_Code")); NameInput.Text = Convert.ToString(gridView1.GetRowCellValue(gridView1.FocusedRowHandle, "branche_Name")); StatusToggle.EditValue = Convert.ToInt32(gridView1.GetRowCellValue(gridView1.FocusedRowHandle, "branche_Status")) == 0 ? false : true; Mobile1Input.Text = Convert.ToString(gridView1.GetRowCellValue(gridView1.FocusedRowHandle, "branche_Mobile1")); Mobile2Input.Text = Convert.ToString(gridView1.GetRowCellValue(gridView1.FocusedRowHandle, "branche_Mobile2")); Mobile3Input.Text = Convert.ToString(gridView1.GetRowCellValue(gridView1.FocusedRowHandle, "branche_Mobile3")); PhoneInput.Text = Convert.ToString(gridView1.GetRowCellValue(gridView1.FocusedRowHandle, "branche_Phone")); AddressInput.Text = Convert.ToString(gridView1.GetRowCellValue(gridView1.FocusedRowHandle, "branche_Address")); CountryInput.EditValue = Convert.ToInt32(gridView1.GetRowCellValue(gridView1.FocusedRowHandle, "Country")); CityInput.EditValue = Convert.ToInt32(gridView1.GetRowCellValue(gridView1.FocusedRowHandle, "City")); } } }
Что я уже пробовал:
я создал новую форму и скопировал элементы управления один за другим, и проблема все еще существует
я попытался прокомментировать коды один за другим, но та же проблема
SplashScreenManager.CloseForm(false); SplashScreenManager.ShowForm(this, typeof(waitForm), true, true, false); try { SplashScreenManager.Default.SetWaitFormDescription(strings.Creating_basic_components); } catch { } InitializeComponent(); mrsalesdbEntities dbContext = ConnectionTools.OpenConn(); try{ SplashScreenManager.Default.SetWaitFormDescription(strings.loading_branches_list); } catch { } ad_branchesBindingSource.DataSource = dbContext.ad_branches.ToList(); try { SplashScreenManager.Default.SetWaitFormDescription(strings.LOADING_company_data); } catch { } ad_company_dataBindingSource.DataSource = dbContext.ad_company_data.Local.ToBindingList(); try { SplashScreenManager.Default.SetWaitFormDescription(strings.loading_Countries_Cities); } catch { } ad_countryBindingSource.DataSource = dbContext.ad_country.ToList(); ad_cityBindingSource.DataSource = dbContext.ad_city.ToList();
BillWoodruff
Есть ли сообщение об ошибке ? Вы пробовали поддержку DevXpress ?
Если контроль действительно возвращается, через несколько минут вам нужно посмотреть, что происходит с базой данных, возможно, написать какой-то код регистрации.