PDA

View Full Version : سوال: اجرا نکردن تمام کد ها ی موجود در فرم لود (بدون وجود خطا ! )



mehrdad1991h
یک شنبه 15 اردیبهشت 1392, 00:21 صبح
سلام
امشب به یه چیز عجیب خوردم من یک سری کد تقریا طولانی را داخل فرم لود برنامه نوشتم
حالا وقتی برنامه را باز میکنیم هر وقت دلش بخواد از خوندن یه سری کد ها که در در رویداد فرم لود هست چشم پوشی میکنه و اون ها را نمیخونه و اجرا نمیکنه البته اون قسمت کد ها هیچ مشکلی ندارن و وقتی خونده میشن درست کار میکنن یعنی چیز خاصی هم نیستن فقط چندتا رشته است مقدار دهی شده اند !!!
تریس هم کردم اصلا سراغ اونا نمیره یه دفعه مثلا میپره میره سره بقیه کارا خودش :)

نمیدونم چرا
الان خواستم ببینم کسی راهنمایی میتونه بکنه تا الان به این مشکل خوردیین ؟
اینم بگم که این بار من از بک گراند ورکر استفاده نکردم در داخل فرم لود برنامه ولی در هر صورت میخوام بدونم چرا اینجوری میشه و این کد ها را نمیخونه ؟ ربطی به بکگراند ورکر داره ؟

_behnam_
یک شنبه 15 اردیبهشت 1392, 01:59 صبح
سلام.
در صورت امکان کدهارو بزارید تا بررسی شه.

mehrdad1991h
یک شنبه 15 اردیبهشت 1392, 11:52 صبح
سلام.
در صورت امکان کدهارو بزارید تا بررسی شه.

این هم کد ها از هر قسمت کدی که میخونه یه نمونه گذاشتم که خسته کننده نشود
کدها هیچ مشکلی ندارن درست اجرا میشوند
ولی یه بار اجرا میشوند یه بار نمیشوند
(راه حلی که به نظرم رسید اومدم همشون را در یه تابع قرار دادم و تابع را فراخوانی کردم اینجوری همشون خونده میشه (یعنی مجبوره که خونده بشه دیگه)
حالا چرا اونجوری مشکل داره و خونده نمیشه !!!)

کد ها هم طولانی و زیاد بودند برا اینکه خسته کننده نباشه و به صورت مختصر سعی کردم بزارم که چک کنید
الان در این کد ها همه اجرا میشه به قسمت ست لینک که میرسه دیگه لینک ها را ست نمیکنه یادش میره ست کنه:قهقهه: یا اگه هر چیز دیگه ای بزارم اون اخر کار اون را اجرا نمیکنه :گیج:

private void Form1_Load(object sender, EventArgs e)
{
string xmlPath = System.IO.Path.Combine(Application.StartupPath, ShowList);
if (!File.Exists(xmlPath))
{
string xmlData = null;
string link = "http://site.com/feeds/list.php";
//اینجا هم مشکل پیش میاد معمولا یه لیست 5-6 مگی باید دانلود کنه XML هست ولی بیشتر مواقع نمیتواند !!!!//
using (WebClient webClient = new WebClient())
{
try
{
xmlData = webClient.DownloadString(link);
xdoc = XDocument.Load(new StringReader(xmlData));
xdoc.Save(xmlPath);
xdoc = XDocument.Load(xmlPath);
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
}
}
else
{
xdoc = XDocument.Load(xmlPath);
}

treeView1.SelectedNode = treeView1.Nodes[3];

listSearchTitle.Hide();

if (Safe.Checked)
{
this.Safe_comboB.Enabled = true;
Safe_comboB.SelectedItem = Safe_comboB.Items[0];

CaEnable = "&enable=on";
CaType = "&c-type=" + Safe_comboB.SelectedText;
}
else
{
this.Safe_comboBCa.Enabled = false;
Safe_comboB.Text = "";

CaEnable = "&enable=no";
CaType = "";
}
this.Restore();
this.RestoreAdd();
this.RestoreIMGUP();
this.RestoreSafe();
this.RestoreSort();
this.findurl1();
PLink = site.TrimEnd('/') + pathSite.TrimEnd('/');
this.setallLink();
}

//نمونه برای قسمت جستجو و دریافت لینک//
private void findurl1()
{
try
{
string link = "http://site.com/URL/url.php" + mehrdad;
link = this.HWR(link);
if (link.StartsWith("http://www.") || link.StartsWith("http://") || link.StartsWith("www."))
{
this.site = link;

}
else
{

findurl3();
}

}
catch
{
findurl3();//onam mese hamine az 1 site digas
}
}

//نمونه برای قسمت ریستور//
private void RestoreSafe()
{
int i = 0;
int j = 0;
foreach (Control ctrl in this.panel8.Controls)
{
if (ctrl is TabPage)
{
foreach (Control Gctrl in ctrl.Controls)
{
if (Gctrl is TextBox)
{
j = 0;
TextBox txt = (TextBox)Gctrl;
Reseter_Safe[i, j++] = txt.Name;
Reseter_Safe[i, j++] = txt.Text;
if (txt.Enabled == true)
{
Reseter_Safe[i, j++] = "true";
}
else
{
Reseter_Safe[i, j++] = "false";
}
Reseter_Safe[i, j++] = txt.BackColor.Name;
Reseter_Safe[i, j] = txt.ForeColor.Name;
i++;

}
}
}
else if (ctrl is Panel)
{
//......sayere code haye restor mesle bala ast
}
}
}


//برای قسمت ست لینک//
private void setallLink()
{
login = PLink + "/LN/i.php";
IDT = PLink + "/Id/i_UI.php";
ID = PLink + "/I/i_UI.php?o=xml";
searchName = PLink + "/Im/i";
imageHost = PLink + "/iHost/iL.php";
}

hessam2003
یک شنبه 15 اردیبهشت 1392, 12:00 عصر
سلام.
دوست عزیز شما کدها رو درون رویداد Form_Load() قرار دادید وقتی برنامه را اجرا می کنید فقط یکبار قسمت Form_Load() اجرا میشه ژس کدها هم یکبار اجرا میشن و ازاش میگذره.
بهترین راه حل گذاشتن داخل یک تابه است و در زمان نیاز فراخوانیشون کنید.
موفق باشید.

mehrdad1991h
یک شنبه 15 اردیبهشت 1392, 12:10 عصر
سلام.
دوست عزیز شما کدها رو درون رویداد Form_Load() قرار دادید وقتی برنامه را اجرا می کنید فقط یکبار قسمت Form_Load() اجرا میشه ژس کدها هم یکبار اجرا میشن و ازاش میگذره.
بهترین راه حل گذاشتن داخل یک تابه است و در زمان نیاز فراخوانیشون کنید.
موفق باشید.

سلام
منظور شما اینه که
وقتی فرم لود داره میشه فقط این کد ها همون موقع اجرا میشوند (همین 1 بار)

دوست عزیز اینقدر دیگه میفهمم که فقط یک بار اجرا میشه
خوب من دارم میگم عزیزم همون 1 مرتبه را این اجرا نمیکنه ( هر وقت دلش بخواد اجرا میکنه (یه بار اجرا میشه یه بار نمیشه !!!) )
الان گرفتی چی شد ؟