本文整理汇总了C#中System.Windows.Forms.TextBox.GetLineFromCharIndex方法的典型用法代码示例。如果您正苦于以下问题:C# TextBox.GetLineFromCharIndex方法的具体用法?C# TextBox.GetLineFromCharIndex怎么用?C# TextBox.GetLineFromCharIndex使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类System.Windows.Forms.TextBox
的用法示例。
在下文中一共展示了TextBox.GetLineFromCharIndex方法的8个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: GetTextLocation
TextLocation GetTextLocation(TextBox textBox, int offset)
{
int line = textBox.GetLineFromCharIndex(offset);
int col = offset - textBox.GetFirstCharIndexFromLine(line);
return new TextLocation(line + 1, col + 1);
}
示例2: getCurrentLineNo
/// <summary>
/// Gets the current line number.
/// </summary>
/// <param name="tb">a TextBox.</param>
/// <returns>the current line number.</returns>
public static int getCurrentLineNo(TextBox tb)
{
if (tb.Lines.Length == 0)
{
return 0;
}
else
{
int startIndex = tb.GetFirstCharIndexOfCurrentLine();
return tb.GetLineFromCharIndex(startIndex);
}
}
示例3: getCurrentLineAndLineNo
/// <summary>
/// Gets a key/value pair containing currentLineNumber/currentLine.
/// </summary>
/// <param name="tb">the TextBox.</param>
/// <returns>a key/value pair containing currentLineNumber/currentLine.</returns>
public static KeyValuePair<int, String> getCurrentLineAndLineNo(TextBox tb)
{
if (tb.Lines.Length == 0)
{
return new KeyValuePair<int, String>(0,tb.Text);
}
else
{
int startIndex = tb.GetFirstCharIndexOfCurrentLine();
int currentLineNumber = tb.GetLineFromCharIndex(startIndex);
return new KeyValuePair<int,String>(currentLineNumber, tb.Lines[currentLineNumber]);
}
}
示例4: getCurrentLine
/// <summary>
/// Gets the current line from a TextBox control.
/// </summary>
/// <param name="tb">the TextBox control.</param>
/// <returns>the current line.</returns>
public static String getCurrentLine(TextBox tb)
{
if (tb.Lines.Length == 0)
{
return tb.Text;
}
else
{
int startIndex = tb.GetFirstCharIndexOfCurrentLine();
int currentLineNumber = tb.GetLineFromCharIndex(startIndex);
return tb.Lines[currentLineNumber];
}
}
示例5: GenerateSQLFile
/// <summary>
/// Generates a SQL File and saves it in the SQL folder.
/// </summary>
/// <param name="fileStart">The beginning of the fileName</param>
/// <param name="fileName">FileName after fileStart (usually entry & name)</param>
/// <param name="tb">The textbox to create from (text)</param>
private void GenerateSQLFile(string fileStart, string fileName, TextBox tb)
{
// Save location / path
string path = @".\SQL\" + fileStart + fileName + ".SQL";
// Checks if the path file exists
if (File.Exists(path))
{
// Creates a messagebox with a warning
DialogResult dr = MessageBox.Show("File already exists.\n Replace it?", "Warning ...", MessageBoxButtons.YesNo, MessageBoxIcon.Warning);
// If the feedback is no, stop the program from running
if (dr == DialogResult.No)
{
return;
}
}
else
{
DialogResult dr = MessageBox.Show("SQL folder does not exist. \nAutomatically create one for you?", "The folder 'SQL' could not been found.", MessageBoxButtons.YesNo, MessageBoxIcon.Error);
if (dr == DialogResult.Yes)
{
Directory.CreateDirectory(@".\SQL\");
}
else
{
return;
}
}
// Checks if textbox is empty OR fileName is empty
if (tb.TextLength == 0 || fileName == string.Empty)
{
return;
}
// StreamWriter is used to write the SQL.
StreamWriter sw = new StreamWriter(path);
// Puts every line of the selected textbox in an array.
int lineCount = tb.GetLineFromCharIndex(tb.Text.Length) + 1;
for (var i = 0; i < lineCount; i++)
{
int startIndex = tb.GetFirstCharIndexFromLine(i);
int endIndex = (i < lineCount - 1) ?
tb.GetFirstCharIndexFromLine(i + 1) : tb.Text.Length;
sw.WriteLine(tb.Text.Substring(startIndex, endIndex - startIndex));
}
// Closes the StreamWriter.
sw.Close();
}
示例6: Grow
void Grow(TextBox child)
{
//Amount of padding to add
const int padding = 3;
//get number of lines (first line is 0)
int numLines = child.GetLineFromCharIndex(child.TextLength) + 1;
//get border thickness
int border = child.Height - child.ClientSize.Height;
//set height (height of one line * number of lines + spacing)
child.Height = child.Font.Height * numLines + padding + border;
}
示例7: PasteString
private void PasteString(TextBox oTB, string sText)
{
StringBuilder oBuffer = new StringBuilder(sText);
if (sText == Environment.NewLine)
{
int iSelStart = oTB.SelectionStart;
int iLigne = oTB.GetLineFromCharIndex(iSelStart);
if (oTB.Lines.Length > iLigne)
{
string sLigne = oTB.Lines[iLigne];
foreach (char c in sLigne)
{
if (c == ' ' || c == '\t')
{
oBuffer.Append(c);
}
else
{
break;
}
}
}
}
oTB.Paste(oBuffer.ToString());
}
示例8: UpdateCursorLocation
protected void UpdateCursorLocation(TextBox tb)
{
cursorLineNo = tb.GetLineFromCharIndex(tb.SelectionStart) + 1;
cursorColumnNo = tb.SelectionStart - tb.GetFirstCharIndexOfCurrentLine() + 1;
// Update cursor position on status bar:
mainStatusStripCursorPosLabel.Text = "(" + cursorLineNo.ToString() + ", " +
cursorColumnNo.ToString() + ")";
}