PDA

View Full Version : مبتدی: پيدا كردن شماره سطرو ستون محل فعلي مكان نما در textbox



sinasaba
یک شنبه 08 آبان 1390, 12:46 عصر
با سلام اگه كسي ميدونه شماره سطر و ستون محل فعلي مكان نما در textbox را چطور ميتونم بدست بيارم لطفاً منو راهنمايي كنه

haniyehghassami
یک شنبه 08 آبان 1390, 15:35 عصر
میشه منظورت و واضح تر بگین یا اصلا واسه چه کاری به این مختصات نیاز دارین؟

sobaisobai
یک شنبه 08 آبان 1390, 15:54 عصر
سلام
با استفاده از کد زیر میتونی شماره سطر رو بدست بیاری
public int CurrentLine
{
get { return textBox1.GetLineFromCharIndex(textBox1.SelectionSt art) + 1; }
}
MessageBox.Show(CurrentLine.ToString());
و با استفاده از کد زیر شماره ستون
public int CurrentColumn
{
get { return textBox1.SelectionStart - textBox1.GetFirstCharIndexOfCurrentLine() + 1; }
}
MessageBox.Show(CurrentColumn.ToString());
موفق باشی

faravaghi
یک شنبه 08 آبان 1390, 17:32 عصر
سلام گلم،
اگه منظورت اینه که یک TextBox داری که میخوای در مکان فعلی مکان نما عملیات درج یا حذف رو انجام بدی با متد های زیر این کار رو می تونی بکنی:
تو رویداد Leave اون شیء(TexBox) این رو قرار بده:

private void SetCursor(object sender, EventArgs e)
{
try
{
nCursorPosition = txtBody.SelectionStart;
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
}

و برای اضافه شدن رشته دلخواه به TextBox این کد رو بذار:

private void AddItem(object sender, EventArgs e)
{
try
{
txtBody.Text= txtBody.Text.Insert(nCursorPosition, "Your String");
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
}

اینم به صورت سراسری تعریف کن:

int nCursorPosition = 0;

sinasaba
دوشنبه 09 آبان 1390, 12:04 عصر
دوست عزيز sobaisobai از شما ممنونم، اين مختصاتو براي برنامه ي notpadام ميخاستم كه به تونم در statusbar قرار بدم.

sobaisobai
دوشنبه 09 آبان 1390, 13:42 عصر
سلام
واضح تر میگی متوجه نشدم میخوای چیکار کنی دقیقا؟

sinasaba
دوشنبه 09 آبان 1390, 15:07 عصر
سلام
واضح تر میگی متوجه نشدم میخوای چیکار کنی دقیقا؟
من يه برنامه notpad نوشتم كه ميخوام مثله notpad ويندوز در status bar اش شماره سطر و ستون مكان نمارو بهم نشون بده با راهنمايي شما تقريباً تونستم اينكارو انجام بدم. خيلي از لطفت ممنونم دوست عزيز.:بوس: