コントロールパネルのインターネットオプションで、プロキシを設定してある場合でも、WinHTTPのプロキシが設定されていないといけないらしい。
そこで、インターネットオプションに設定されているプロキシの設定内容を、WinHTTPのプロキシに反映させるため、次のコマンドを実行する。
proxycfg -u
ちゃんと設定されたか確認するには、proxycfg
と、引数なしで実行する。WinHTTPのプロキシ設定を元に戻すには、次のコマンドを実行する。
proxycfg -d
kkino90hの技術メモです。
proxycfg -u
ちゃんと設定されたか確認するには、proxycfg
と、引数なしで実行する。proxycfg -d
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
namespace DataGridViewTest
{
public partial class Form1 : Form
{
private DataTable m_table;
public Form1()
{
InitializeComponent();
// データテーブル生成
m_table = new DataTable();
m_table.Columns.Add(new DataColumn("id" , typeof(int)));
m_table.Columns.Add(new DataColumn("value", typeof(int)));
m_table.PrimaryKey = new DataColumn[] { m_table.Columns["id"] };
m_table.Columns["id"].AutoIncrement = true;
m_table.Columns["id"].AutoIncrementSeed = 1;
m_table.Columns["id"].AutoIncrementStep = 1;
}
private void Form1_Load(object sender, EventArgs e)
{
// データテーブルをDataGridViewにバインド
dataGridView1.AutoGenerateColumns = true;
dataGridView1.DataSource = m_table;
// バックグラウンド処理開始
backgroundWorker1.RunWorkerAsync();
}
private void backgroundWorker1_DoWork(object sender, DoWorkEventArgs e)
{
System.Random rnd = new Random();
// データテーブルに1000行のデータを追加する
for (int index = 0; index < 1000; index++)
{
DataRow newRow = m_table.NewRow();
newRow["value"] = rnd.Next(100);
m_table.Rows.Add(newRow);
}
}
}
}
コンストラクタで、DataTableを生成しています。using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
namespace DataGridViewTest
{
public partial class Form1 : Form
{
private DataTable m_table;
public Form1()
{
InitializeComponent();
// データテーブル生成
m_table = new DataTable();
m_table.Columns.Add(new DataColumn("id" , typeof(int)));
m_table.Columns.Add(new DataColumn("value", typeof(int)));
m_table.PrimaryKey = new DataColumn[] { m_table.Columns["id"] };
m_table.Columns["id"].AutoIncrement = true;
m_table.Columns["id"].AutoIncrementSeed = 1;
m_table.Columns["id"].AutoIncrementStep = 1;
}
private void Form1_Load(object sender, EventArgs e)
{
// データテーブルをDataGridViewにバインド
dataGridView1.AutoGenerateColumns = true;
dataGridView1.DataSource = m_table;
// グリッドのスクロールバーを一旦なしにする
dataGridView1.ScrollBars = ScrollBars.None;
// バックグラウンド処理開始
backgroundWorker1.RunWorkerAsync();
}
private void backgroundWorker1_DoWork(object sender, DoWorkEventArgs e)
{
System.Random rnd = new Random();
// データテーブルに1000行のデータを追加する
for (int index = 0; index < 1000; index++)
{
DataRow newRow = m_table.NewRow();
newRow["value"] = rnd.Next(100);
m_table.Rows.Add(newRow);
}
}
private void backgroundWorker1_RunWorkerCompleted(object sender, RunWorkerCompletedEventArgs e)
{
// グリッドのスクロールバーを元に戻す
dataGridView1.ScrollBars = ScrollBars.Both;
}
}
}
こうすると、フリーズせずに動きました。
set serverout on;
とする必要がある。set serverout on size 1000000;
のようにバッファサイズを指定する。