PDA

View Full Version : گرفتن شماره خط مورد نظر و انتقال کرسر به آن مکان



amir-haghighi
چهارشنبه 08 مهر 1388, 18:26 عصر
با سلام ..

تو vs2008 با زدن کلید های ctrl + G و دادن شماره خط مورد نظر میتونید مکان کرسر رو به خط مورد نظر هدایت کنید .

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

روش اول



int x = richtextbox.GetFirstCharIndexFromLine(شماره خط مورد نظر);
richtextbox.selectionstart = x;
richtextbox.focus();



و روش دوم ::



string linetext = rtb.lines[شماره خط].tostring();
int line = rtb.text.indexof(linetext);
rtb.selectionstart = line;
rtb.focus();


خوب دوستان میشه بگن که من کجای کارم اشتباه داره ؟ اصلا روش دقیقتری وجود داره ؟

nasser_ray
پنج شنبه 09 مهر 1388, 00:09 صبح
سلام
من با کد اول تا حالا مشکلی نداشتم
اما اگر دنبال روش دیگه ای هستید می تونید بصورت دستی تعداد کاراکترهای اینتر رو بخونید و به موقعیت کاراکتر مورد نظر برسید.


int GotoLineX(int lineNumber)
{
//baray kar khodeton esm TextBox1 ro be name shey khodeton taghir bedin
if (lineNumber > textBox1.Lines.Length)
lineNumber = textBox1.Lines.Length; // Goto Last Line
int tmpPos = 0;
for (int i = 1; i < lineNumber ; i++)
{
tmpPos = textBox1.Text.IndexOf("\n", tmpPos+1);
}
return tmpPos+1;
}

روش استفاده برای رفتن به خط چهار


textBox1.SelectionStart = GotoLineX(4);


موفق باشید