Files
mirror-processhacker/trunk/ProcessHacker/Forms/InformationBox.cs
T
wj32 8ffa3839b0 added e.Handled = true (doesn't do anything though)
git-svn-id: svn://svn.code.sf.net/p/processhacker/code@1346 21ef857c-d57f-4fe0-8362-d861dc6d29cd
2009-05-29 23:41:48 +00:00

115 lines
3.3 KiB
C#

/*
* Process Hacker -
* simple-to-use text display box
*
* Copyright (C) 2008-2009 wj32
*
* This file is part of Process Hacker.
*
* Process Hacker is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* Process Hacker is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with Process Hacker. If not, see <http://www.gnu.org/licenses/>.
*/
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
namespace ProcessHacker
{
public partial class InformationBox : Form
{
public InformationBox(string values)
{
InitializeComponent();
this.AddEscapeToClose();
this.Size = Properties.Settings.Default.InformationBoxSize;
textValues.Text = values;
textValues.Select(0, 0);
}
private void InformationBox_Load(object sender, EventArgs e)
{
// doesn't work???
textValues.Select();
textValues.ScrollToCaret();
}
private void InformationBox_FormClosing(object sender, FormClosingEventArgs e)
{
Properties.Settings.Default.InformationBoxSize = this.Size;
}
public TextBox TextBox { get { return textValues; } }
public string DefaultFileName { get; set; }
public string Title
{
get { return this.Text; }
set { this.Text = value; }
}
public bool ShowSaveButton
{
get { return buttonSave.Visible; }
set { buttonSave.Visible = value; }
}
private void buttonClose_Click(object sender, EventArgs e)
{
this.Close();
}
private void buttonSave_Click(object sender, EventArgs e)
{
SaveFileDialog sfd = new SaveFileDialog();
sfd.FileName = DefaultFileName;
sfd.Filter = "Text Files (*.txt)|*.txt|All Files (*.*)|*.*";
if (sfd.ShowDialog() == DialogResult.OK)
System.IO.File.WriteAllText(sfd.FileName, textValues.Text);
}
private void buttonCopy_Click(object sender, EventArgs e)
{
if (textValues.Text.Length == 0)
return;
if (textValues.SelectionLength == 0)
{
Clipboard.SetText(textValues.Text);
textValues.Select();
textValues.SelectAll();
}
else
{
Clipboard.SetText(textValues.SelectedText);
}
}
private void InformationBox_KeyDown(object sender, KeyEventArgs e)
{
if (e.Control && e.KeyCode == Keys.A)
{
textValues.SelectAll();
e.Handled = true;
}
}
}
}